# SearchBundle: Artikel ausschliessen

**URL:** https://forum.shopware.com/t/searchbundle-artikel-ausschliessen/33162
**Category:** Programmierung
**Created:** [21. Dezember 2015 um 18:18 UTC](https://forum.shopware.com/t/searchbundle-artikel-ausschliessen/33162 "2015-12-21T18:18:53Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![hbee](https://avatars.discourse-cdn.com/v4/letter/h/f08c70/32.png) [@hbee](https://forum.shopware.com/u/hbee)
#### Post date: [21. Dezember 2015 um 18:18 UTC](https://forum.shopware.com/t/searchbundle-artikel-ausschliessen/33162/1 "2015-12-21T18:18:53Z")

</div>

Hi, versuche mich gerade an dem SearchBundle. Ich möchte Artikel mit einem bestimmten Attribute aus der Suche ausschließen und auch im Listing nicht anzeigen. Für das Listing das soweit geklappt: Bootstrap.php: ` public function startDispatch() { Shopware()-\>Events()-\>addListener( 'Shopware\_SearchBundleDBAL\_Collect\_Condition\_Handlers', function() { require\_once \_\_DIR\_\_ . '/Handler/CategoryConditionHandler.php'; return new CategoryConditionHandler(); } ); } ` CategoryConditionHandler.php ` class CategoryConditionHandler implements ConditionHandlerInterface { public function supportsCondition(ConditionInterface $condition) { return ($condition instanceof CategoryCondition); } public function generateCondition( ConditionInterface $condition, QueryBuilder $query, ShopContextInterface $context ) { $query-\>innerJoin( 'product', 's\_articles\_categories\_ro', 'productCategory', 'productCategory.articleID = product.id AND productCategory.categoryID IN (:category)' ); $query-\>setParameter( ':category', $condition-\>getCategoryIds(), Connection::PARAM\_INT\_ARRAY ); $query-\>andWhere('productAttribute.my\_attr IS NULL'); } } ` ich bin mir nicht sicher, ob das der richtige Weg ist – funktioniert aber soweit. Jetzt möchte ich gern noch den SearchTermConditionHandler manipulieren bzw. erweitern. Wie stelle ich das an? Ziel ist es bestimmte Artikel im Frontend nicht anzuzeigen aber es soll die Möglichkeit bestehen bleiben diese Artikel in den Warenkorb zulegen. Wäre über tipps dankbar.

---

<div class="post-metadata">

### Author: ![shopomania](https://avatars.discourse-cdn.com/v4/letter/s/57b2e6/32.png) [@shopomania](https://forum.shopware.com/u/shopomania)
#### Post date: [22. Dezember 2015 um 13:45 UTC](https://forum.shopware.com/t/searchbundle-artikel-ausschliessen/33162/2 "2015-12-22T13:45:57Z")

</div>

Ich verstehe den vorletzten Satz nicht - vermutlich stehe ich gerade aufm Schlauch… Wenn die Artikel nicht im Frontend zu sehen sind, wie bekomme ich diese in den Warenkorb? Sorry, für die dumme Frage.

---

<div class="post-metadata">

### Author: ![hbee](https://avatars.discourse-cdn.com/v4/letter/h/f08c70/32.png) [@hbee](https://forum.shopware.com/u/hbee)
#### Post date: [22. Dezember 2015 um 14:31 UTC](https://forum.shopware.com/t/searchbundle-artikel-ausschliessen/33162/3 "2015-12-22T14:31:34Z")

</div>

[quote=„shopomania“]Ich verstehe den vorletzten Satz nicht - vermutlich stehe ich gerade aufm Schlauch… Wenn die Artikel nicht im Frontend zu sehen sind, wie bekomme ich diese in den Warenkorb? Sorry, für die dumme Frage.[/quote] hi, die werden wie andere Artikel auch zb. über /checkout/ajaxAddArticleCart in den Warenkorb gelegt. Sie sollen halt nur nicht im Listing etc. auftauchen. Das sind dann zb. Zubehörartikel o.ä. und werden dann nur an bestimmten Stellen angeboten. Mit dem Code oben, tauchen sie auch in der Suche nicht mehr auf. Ausser, man gibt direkt die Artikelnummer in die Suche ein. Dann wird man direkt auf die Detailseite geleitet. Das ist aber ok. Ich habe diesen Artikeln jetzt ein anderes Template zugewiesen und blende dort die Bestellmöglichkeit etc. einfach aus. Damit ist das Thema für mich erledigt – ausser es hat jemand eine grandiose Idee wie man das besser lösen kann 😉 Viele Grüße,

---

<div class="post-metadata">

### Author: ![zeitauktion](https://avatars.discourse-cdn.com/v4/letter/z/df705f/32.png) [@zeitauktion](https://forum.shopware.com/u/zeitauktion)
#### Post date: [16. August 2017 um 15:15 UTC](https://forum.shopware.com/t/searchbundle-artikel-ausschliessen/33162/4 "2017-08-16T15:15:24Z")

</div>

Hallo hbee,

ich bin auf der Suche nach einer Möglichkeit, Artikel einer&nbsp;bestimmten Kategorie bzw. instock=0 aus der Suche auszuschließen.

Hab deinen Lösungsansatz gefunden und gedacht, wenn ich die Zeile:  
$query-\>andWhere(‚productAttribute.my\_attr IS NULL‘);  
in  
$query-\>andWhere(‚s\_articles\_details.instock \> 0‘);  
ändere gehts. Leider funktioniert der Shop dann nicht mehr.

Hab ich was übersehen bzw. können Sie mir weiterhelfen?

Vielen Dank

---

<div class="post-metadata">

### Author: ![hbee](https://avatars.discourse-cdn.com/v4/letter/h/f08c70/32.png) [@hbee](https://forum.shopware.com/u/hbee)
#### Post date: [17. August 2017 um 10:26 UTC](https://forum.shopware.com/t/searchbundle-artikel-ausschliessen/33162/5 "2017-08-17T10:26:37Z")

</div>

> [@zeitauktion schrieb:](https://forum.shopware.com/profile/24458/zeitauktion "zeitauktion")
> 
> Hallo hbee,
> 
> ich bin auf der Suche nach einer Möglichkeit, Artikel einer&nbsp;bestimmten Kategorie bzw. instock=0 aus der Suche auszuschließen.
> 
> Hab deinen Lösungsansatz gefunden und gedacht, wenn ich die Zeile:  
> $query-\>andWhere(‚productAttribute.my\_attr IS NULL‘);  
> in  
> $query-\>andWhere(‚s\_articles\_details.instock \> 0‘);  
> ändere gehts. Leider funktioniert der Shop dann nicht mehr.
> 
> Hab ich was übersehen bzw. können Sie mir weiterhelfen?
> 
> Vielen Dank

ich denke ‚s\_articles\_details‘ ist falsch. versuch es mal mit product.instock

&nbsp;
