Pluginentwicklung/Fragengestützer Berater/ Filter-Facetten/Verwendung Shopware Standard Komponenten

Guten Morgen,

im Rahmen meines Abschlussprojektes (Praktikum) bei der Ausbildung zum Fachinformatiker AE benötige ich Hilfe!
Es soll ein ein Shopware-Plugin entwickelt werden, das den Kunden fragengestützt, filternavigierend zu passenden Artikeln führt.
Bei der Entwicklung soll möglichst auf den Standard seit Shopware 5.2. geachtet werden und auf vorhandene Komponenten basieren.

Der Kunde soll nach dem Aufruf der Berater-Seite mehrere Fragen nacheinander auf einer Seite angezeigt bekommen und diese dann jeweils durch die Auswahl von Filtern beantworten.
Die Filter/Facetten sollen allerdings nicht als Block, sondern herausgelöst, passend unter der jeweiligen Frage stehen.

Mein Ansatz wäre die Verwendung des SearchBundles.

Ich stecke jetzt nach dem Anlegen der Route, des Templates und der Anzeige eines Listings mit Filterblock, fest.

Ich möchte das der Kunde beim ersten Aufruf der BeraterSeite ein Listing  einer bestimmten Kategorie bekommt.
Als Grundlage dienen mir Beispiele aus dem aktuellen Shopware-Buch und die Informationen zum Thema SearchBundle für Developer.
Das Problem, ich habe eine große Wissens- und Verständnislücke was die verwendeten Frameworks von Shopware angeht und versuche Beispielcode,
von dem ich ausgehe, das er zur Lösung der Teilaufgabe passen könnte, umzubauen.

Fehlermeldung: „Condition FFDiktierBerater\Components\SearchBundleDBAL\Condition\KategorieCondition not supported in engine/Shopware/Bundle/SearchBundleDBAL/QueryBuilderFactory.php on line 231“

Ich scheitere nun schon beim Anlegen der/des Condition/Handlers, dem entsprechenden Subscriber, der service.xml um eine Kategorie als Filter beim
ersten Aufruf der Beraterseite das Listing beeinflussen zu lassen.

Wie würdet Ihr das Problem lösen, wenn Ihr nach den neuen Standards vorgehen würdet.

Bin für jede Hilfe dankbar.
Attila

Aufgaben:

-  festegelegte Kategorie beeinflusst Listing beim ersten Aufruf der Beraterseite

  • erstellen von Facetten/Filtern passend zu den Fragen (zum Teil schon im Standardfilterblock sichtbar)
  • platzieren von Einzelnen-/Gruppen- von Filtern unter den Fragen (nicht als Filterblock wie bei Shopware)

 

Hi Attila, bzgl. 

Fehlermeldung: „Condition FFDiktierBerater\Components\SearchBundleDBAL\Condition\KategorieCondition not supported in engine/Shopware/Bundle/SearchBundleDBAL/QueryBuilderFactory.php on line 231“

der Fehler tritt unter anderem auf wenn man den ConditionHandler nicht registriert hat. Das war zumindest bei mir das Problem, hatte den register Event vergessen. Dazu einfach folgendes in deiner Bootstrap oder deinem Subscriber hinzufügen (ggf. noch Namespace anpassen).

$this->subscribeEvent(
    'Shopware_SearchBundleDBAL_Collect_Condition_Handlers',
    'registerConditionHandler'
);

public function registerConditionHandler()
{
    return new FFDiktierBerater\Components\SearchBundleDBAL\Condition\KategorieConditionHandler();
}

Da es sich nicht um einen typischen eigenen Service handelt, weiß ich nicht ob man den auch über die services.xml registrieren kann oder das dem neuen Standard entspricht. Hoffe ich konnte dir trotzdem ein wenig weiterhelfen.