Die Schnellsuche kann genutzt werden um die Suchfelder einer Datenbanktabelle zu durchsuchen. Die Schnellsuche wird bspw. in der Datensatzliste genutzt.
Codeblock |
---|
language | php |
---|
theme | RDark |
---|
title | Eingabefeld für Schnellsuche abrufen |
---|
collapse | true |
---|
|
use Brandbox\Framework\Base\Search;
$identifier = 'shopArticle'; // Identifikator der Datenbanktabelle
$target = 'CustomTarget'; // Benutzerdefinierter Identifikator innerhalb des Codes
$value = ''; // Wert des Schnellsucheneingabefeldes
$element = $this
->staticController(Search\Manager::class)
->getInputSearch($identifier, $target, $value)
;
// $element ist 'null' oder eine Instanz von \Brandbox\FrameworkStyleguide\Entity\FrameworkInputInput |
Codeblock |
---|
language | php |
---|
theme | RDark |
---|
title | QueryBuilder mit Schnellsuche befüllen |
---|
collapse | true |
---|
|
use Brandbox\Framework\Base\Search;
$term = 'Eingabe der Schnellsuche';
$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
Klassenname | Beschreibung |
---|
OnExecuteSearch | Wird nach der Eingabe eines Suchwertes ausgelöst und enthält unter anderem auch den benutzerdefinierten Identifikator. Die Schnellsuche speichert den eingegebenen Suchwert nicht selbst. |
OnPopulateBuilder | Wird zum befüllen einer QueryBuilder -Instanz augerufen. |
OnPopulateCondition | Wird pro Suchfeld (Eingabefeld) der betreffenden Datenbanktabelle ausgelöst. |
OnPopulateSuggestionEntities | Wird zum einsammeln der Datenbanktabellen für die Suchvorschläge verwendet. Die Klasse PopulateSuggestionEntitiesAbstract kann als Basis für eine Implementation genutzt werden. |
OnPopulateSuggestionFilter | Wird zum einsammeln der Apps für die Suchvorschläge verwendet. Die Klasse PopulateSuggestionFilterAbstract kann als Basis für eine Implementation genutzt werden. |
OnPopulateSuggestionResult | Wird bei einer Suche innerhalb der Suchvorschläge ausgelöst und durchsucht die zuvor gesammelten Datenbanktabellen und Apps nach passenden Datensätzen. |