Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

v5.5

...

 

...

...

...

Interface: \brandbox\shop\group\lib\event\groupSuggestionEventInterface

Funktion

Rückgabe

Beschreibung

onQuery

Doctrine\ORM\QueryBuilder

Hier kann direkt der Querybuilder, der zur Suche der Gruppendatensätze verwendet wird, angepasst und erweitert werden.

onCollectElements

brandbox\shop\group\lib\map\

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
Codeblock
languagephpthemeRDark
titleonQuery 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
Codeblock
languagephp
themeRDark
titleonCollectElements 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;
}

...