Gruppensuchvorschläge
Gruppensuchvorschläge können über das hier beschriebene Event erweitert werden. Allgemeine Informationen zu den Suchvorschlägen finden sich hier.
Events
Interface: \brandbox\shop\group\lib\event\groupSuggestionEventInterface
Funktion | Rückgabe | Beschreibung |
---|---|---|
| Doctrine\ORM\QueryBuilder | Hier kann direkt der Querybuilder, der zur Suche der Gruppendatensätze verwendet wird, angepasst und erweitert werden. |
|
entityGroupSuggestion
| Hier kann die Rückgabe an componnent/suggestion angepasst und erweitert werden. |
entityGroupSuggestion
Dieses Objekt wird verwendet um über die verschiedenen Eventimplementationen einen gemeinsamen Datenaustausch zu erreichen. Dieses Objekt enthält das Datenbankobjekt brandbox\shop\group\lib\entity\shopGroup
und das Rückgabeobjekt für die Suchvorschläge in Form eines brandbox\shop\group\lib\map\groupSuggestionElement
welches eine Ableitung von brandbox\styleguide\brandbox\entity\suggestionElement
ist und zusätzlich die brandbox\shop\group\lib\entity\shopGroup
als Kontextinformation für weiterer Event-Verarbeitung beinhaltet.
Beispiel
onQuery Beispiel
/**
* @param string $query
* @param QueryBuilder $queryBuilder
* @param suggestion\lib\entity\suggestionSynonym[] $synonyms
* @param int $languageID
*
* @return QueryBuilder $queryBuilder
*/
public function onQuery($query, $queryBuilder, $synonyms, $languageID) {
if(!empty($query)):
$queryBuilder->where('shopGroup.shopGroupActive = :is_active');
$queryBuilder->setParameter('is_active', true);
endif;
return $queryBuilder;
}
onCollectElements Beispiel
/**
* @param suggestion\lib\event\suggestionEventConfig $eventConfig
* @param group\lib\map\entityGroupSuggestion[] $groupSuggestions
*
* @return group\lib\map\entityGroupSuggestion[]
*/
public function onCollectElements($eventConfig, $groupSuggestions) {
$elements = [];
foreach($groupSuggestions as $groupSuggestion):
$group = $groupSuggestion->getGroup();
$link = $this->getLink($eventConfig, $group);
$subline = $this->getSubline($eventConfig, $group);
$suggestionElement = $groupSuggestion->getSuggestionElement();
$suggestionElement->link = $link;
$suggestionElement->subline = $subline;
$elements[] = $suggestionElement;
endforeach;
return $elements;
}