# Custom criteria in listing / search

**URL:** https://forum.shopware.com/t/custom-criteria-in-listing-search/54708
**Category:** Programmierung
**Created:** [20. August 2018 um 23:00 UTC](https://forum.shopware.com/t/custom-criteria-in-listing-search/54708 "2018-08-20T23:00:43Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Sition](https://avatars.discourse-cdn.com/v4/letter/s/df705f/32.png) [@Sition](https://forum.shopware.com/u/Sition)
#### Post date: [20. August 2018 um 23:00 UTC](https://forum.shopware.com/t/custom-criteria-in-listing-search/54708/1 "2018-08-20T23:00:43Z")

</div>

Hallo,

Wir haben &nbsp;einige zusätzliche Suchkriterien (criteria) erstellt, die standardmäßig auf der Listen- und Suchseite verwendet werden sollten.  
Wenn wir als Test den Core Controller / Action hacken und eines unserer zusätzlichen Kriterien hinzufügen, funktioniert das gut, aber keine großartige Lösung.  
Was ist die beste Lösung, um die benutzerdefinierten Kriterien zusätzlich zu Aktionen wie Listing / Index hinzuzufügen?

---

<div class="post-metadata">

### Author: ![DanielNogel](https://avatars.discourse-cdn.com/v4/letter/d/96bed5/32.png) [@DanielNogel](https://forum.shopware.com/u/DanielNogel)
#### Post date: [21. August 2018 um 04:59 UTC](https://forum.shopware.com/t/custom-criteria-in-listing-search/54708/2 "2018-08-21T04:59:10Z")

</div>

Hi,

mit dem&nbsp;CriteriaRequstHandler&nbsp;kannst du dein Condition-Objekt einfach hinzufügen:&nbsp;[Elasticsearch development](https://developers.shopware.com/developers-guide/elasticsearch/#additional-criteria-parts) Hilft das schon weiter? Ansonsten einfach nochmal melden!

Best regards 😉

Daniel

&nbsp;

---

<div class="post-metadata">

### Author: ![Sition](https://avatars.discourse-cdn.com/v4/letter/s/df705f/32.png) [@Sition](https://forum.shopware.com/u/Sition)
#### Post date: [21. August 2018 um 08:30 UTC](https://forum.shopware.com/t/custom-criteria-in-listing-search/54708/3 "2018-08-21T08:30:29Z")

</div>

Hallo Daniel,

danke für den Link.  
Wir haben den criteriaHandler-Code unten hinzugefügt und es scheint gut zu funktionieren.  
&nbsp;

```
namespace CustomPlugin\Bundle\SearchBundle;

use Enlight_Controller_Request_RequestHttp as Request;
use Shopware\Bundle\SearchBundle\Criteria;
use Shopware\Bundle\SearchBundle\CriteriaRequestHandlerInterface;
use Shopware\Bundle\StoreFrontBundle\Struct\ShopContextInterface;
use CustomPlugin\Bundle\SearchBundle\Condition\CustomCondition;

class CriteriaRequestHandler implements CriteriaRequestHandlerInterface
{
    /**
     * {@inheritdoc}
     */
    public function handleRequest(
        Request $request,
        Criteria $criteria,
        ShopContextInterface $context
    ) {
        $criteria->addCondition(new CustomCondition([0]));
    }
}

```

Wenn wir den Such-Handler nur in der Listing page, nicht in der SearchResults verwenden möchten; Würdest du empfehlen, im Handler einen Controller- / Aktionsnamencheck durchzuführen?

&nbsp;

```
$actionName = $arguments->getRequest()->getActionName();
if ($actionName != 'listing') return;

```

&nbsp;

---

<div class="post-metadata">

### Author: ![Michael\_Telgmann](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/michael_telgmann/32/20289_2.png) [@Michael\_Telgmann](https://forum.shopware.com/u/Michael_Telgmann)
#### Post date: [21. August 2018 um 12:53 UTC](https://forum.shopware.com/t/custom-criteria-in-listing-search/54708/4 "2018-08-21T12:53:52Z")

</div>

Hallo,

ja das ist eine gute Idee. Allerdings solltest du dir den ControllerName aus dem Request holen und nicht den ActionName&nbsp; ![Wink](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/b3785da0cbf2c8566cb535dcf55b2730b5224899.png "Wink")  
Du solltest auch darauf achten, dass du den Widgets\_Listing Controller berücksichtigst.&nbsp;

Viele Grüße aus Schöppingen

![cool](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/86c57fbace799dd4eb1f1b8a2d3bdc1733f0aea1.png "cool")&nbsp;Michael Telgmann
