Versionen im Vergleich

Schlüssel

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

Die Schnellsuche kann genutzt werden um die Suchfelder einer Datenbanktabelle zu durchsuchen. Die Schnellsuche wird bspw. in der Datensatzliste genutzt.

Codeblock
languagephp
themeRDark
titleEingabefeld Formular für Schnellsuche abrufen
collapsetrue
use Brandbox\Framework\BaseComponent\Search;

$identifier = 'shopArticle'; // [Identifikator der Datenbanktabelle]';
$target = 'CustomTarget'; // Benutzerdefinierter Identifikator innerhalb des Codes[Identifikation für Events]';
$value = ''; // Wert[Sucheingabe des SchnellsucheneingabefeldesAnwenders]';

$element = $this
	->staticController(Search\Manager::class)
	->getInputSearch>getSearchElement($identifier, $target, $value)
;

// $element ist 'null' oder eine Instanz von \Brandbox\FrameworkStyleguide\Entity\FrameworkInputInputFrameworkForm


Codeblock
languagephp
themeRDark
titleQueryBuilder mit Schnellsuche befüllen
collapsetrue
use Brandbox\Framework\BaseComponent\Search;

$term = 'Eingabe[Sucheingabe derdes SchnellsucheAnwenders]';
$collation = $this->getApplicationCollationId();

/** @var \Brandbox\Framework\Brandbox\Doctrine\Lib\Repository\QueryBuilder $builder */

$this
	->staticController(Search\Manager::class)
	->populate($term, $collation, $builder)
;

Suchvorschläge

Die Schnellsuche erweitert die Suchvorschläge (Suggestions) um eine Datensatzsuche. Es werden zusätzlich Events für die Suchvorschläge angeboten, um die durchsuchbaren Datenbanktabellen und Apps einzusammeln.

Eventübersicht

KlassennameBeschreibung
OnExecuteSearchWird nach der Eingabe eines Suchwertes ausgelöst und enthält unter anderem auch den benutzerdefinierten Identifikator. Die Schnellsuche speichert den eingegebenen Suchwert nicht selbst.
OnPopulateBuilderWird zum befüllen einer QueryBuilder-Instanz augerufen.
OnPopulateConditionWird pro Suchfeld (Eingabefeld) der betreffenden Datenbanktabelle ausgelöst.
OnPopulateMatchableSammelt alle Eigenschaften (Datenbankspalten) einer Datenbanktabelle ein, welche mit einem MATCH(...) AGAINST (...) anstelle von LIKE durchsucht werden können. Die Datenbankspalten müssen einen FULLTEXT-Index besitzen.
OnPopulateSearchableSammelt alle durchsuchbaren Eigenschaften (Datenbankspalten) einer Datenbanktabelle ein.
OnPopulateSuggestionEntitiesWird zum einsammeln der Datenbanktabellen für die Suchvorschläge verwendet. Die Klasse PopulateSuggestionEntitiesAbstract kann als Basis für eine Implementation genutzt werden.
OnPopulateSuggestionFilterWird zum einsammeln der Apps für die Suchvorschläge verwendet. Die Klasse PopulateSuggestionFilterAbstract kann als Basis für eine Implementation genutzt werden.
OnPopulateSuggestionResultWird bei einer Suche innerhalb der Suchvorschläge ausgelöst und durchsucht die zuvor gesammelten Datenbanktabellen und Apps nach passenden Datensätzen.

...