Suchen im Shop

Es werden verschiedene Suchen für https://konmedia.atlassian.net/wiki/spaces/BRANDBOX/pages/70746213 angeboten. Diese arbeiten mit View/Search aus dem cms für die Darstellung und Brandbox/Search für die tatsächliche Suche der Daten.

Folgende Suchen sind verfügbar:

  • Datenbanksuche für Artikel und Gruppen durch cms-layout-shop

  • Dokumentensuche für Artikel und Gruppen durch shop-document (optional)

Datenbanksuchen

Die Datenbanksuchen für die Artikel und Gruppen im Shop sind SQL-Suchen und können bei komplexeren System langsam werden. Falls das der Fall ist, sollte stattdessen shop-document verwendet werden um die Suche über eine Dokumentsuche laufen zu lassen.

Events Artikelsuche

Die Artikelsuche kann mit \Brandbox\Framework\Brandbox\Search\Lib\Struct\ContextAbstract::$payload['skip-shop-article'] = true übersprungen/deaktiviert werden. Das ist hilfreich, wenn eine alternative Suche installiert wurde, wie zum Beispiel durch shop-document.

Die Suche wird durch \Brandbox\ShopCore\Shop\Article\Manager::search angeboten und der Count durch \Brandbox\ShopCore\Shop\Article\Manager::searchCount.

Die Suchergebnisse werden durch \Brandbox\CmsLayoutShop\Search\Article für die Suchen im cms verarbeitet. Für die Ergebnisse wird entsprechend Search\Article\Lib\Struct\Group und Search\Article\Lib\Struct\Element verwendet. Für View/Listing wird die Kontextklasse \Brandbox\CmsLayoutShop\Search\Article\Lib\Struct\ContextListing angeboten.

Event

Beschreibung

Event

Beschreibung

\Brandbox\ShopCore\Shop\Article\Lib\Event\OnPopulateBuilderSearch

Erweiterung am Querybuilder welcher für die Datenbanksuche verwendet wird. Und-Bedingungen wie shopArticleActive sollten direkt am Builder hinzugefügt werden. Oder-Bedingungen sollten \Brandbox\ShopCore\Shop\Article\Lib\Event\OnPopulateBuilderSearch::$orConditions hinzugefügt werden.

Events Gruppensuche

Die Gruppensuche kann mit \Brandbox\Framework\Brandbox\Search\Lib\Struct\ContextAbstract::$payload['skip-shop-group'] = true übersprungen/deaktiviert werden. Das ist hilfreich, wenn eine alternative Suche installiert wurde, wie zum Beispiel durch shop-document.

Die Suche wird durch \Brandbox\ShopCore\Shop\Group\Manager::search angeboten und der Count durch \Brandbox\ShopCore\Shop\Group\Manager::searchCount.

Die Suchergebnisse werden durch \Brandbox\CmsLayoutShop\Search\Group für die Suchen im cms verarbeitet. Für die Ergebnisse wird entsprechend Search\Group\Lib\Struct\Group und Search\Group\Lib\Struct\Element verwendet. Für View/Listing wird die Kontextklasse \Brandbox\CmsLayoutShop\Search\Group\Lib\Struct\ContextListing angeboten.

Event

Beschreibung

Event

Beschreibung

\Brandbox\ShopCore\Shop\Group\Lib\Event\OnPopulateBuilderSearch

Erweiterung am Querybuilder welcher für die Datenbanksuche verwendet wird. Und-Bedingungen wie shopGroupActive sollten direkt am Builder hinzugefügt werden. Oder-Bedingungen sollten \Brandbox\ShopCore\Shop\Article\Lib\Event\OnPopulateBuilderSearch::$orConditions hinzugefügt werden.