Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 5 Nächste Version anzeigen »

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

Formular für Schnellsuche abrufen
use Brandbox\Framework\Component\Search;

$identifier = '[Identifikator der Datenbanktabelle]';
$target = '[Identifikation für Events]';
$value = '[Sucheingabe des Anwenders]';

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

// $element ist 'null' oder eine Instanz von \Brandbox\FrameworkStyleguide\FrameworkForm
QueryBuilder mit Schnellsuche befüllen
use Brandbox\Framework\Component\Search;

$term = '[Sucheingabe des Anwenders]';
$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.
  • Keine Stichwörter