Ich hätte mal eine allgemeine Frage welche wege es gibt folgendes Szenario umzusetzen.
Produkte haben bei uns Attribute, welches ein klassisches Key-Value-System ist. Sprich Farbe: Rot, Breite: 10 cm usw. Die Attribute werden lose den Artikel vergeben, z.B auch so „exotische“ Sachen wie Kabelsteckkopfbreite: 5 mm. Dies lässt sich ja über die normalen Shopware Eigenschaften (Properties) abbilden.
Soweit so gut. Nun haben die Artikel auch Merkmale. Gleichbedeutend mit Tags, wie man sie von anderen Seiten kennt. Diese Tags sind im Prinzip grobe Kategorisierung von Artikeln, Themengebiete usw. Nun ist meine Frage welche Wege es alles geben würde diese „Tags“ in Shopware abzubilden, so dass man Sie a) in der Suche greifen und b) man ein Listing mit allen Produkten mit den gleichen Tags bzw. auch in UND-Verknüpfung (TagA + TagB) erhalten kann und c) dass man eine Url generiert um eben dieses Listing aufzurufen.
Kann man das vollständig über das Backend irgendwie lösen?
Wenn nicht, kann man Teile der Shopware-Datenstruktur dafür verwenden und an den passenden stellen per Plugin erweitern (z.B. Tags in Keywords rein, oder ein Freitextfeld namens Tags welche dann mit einbezogen wird.)
Oder muss ich das komplett über nen Plugin abbilden, sprich mit eigenen Tabellen, Controllern usw.?
Wenn du es vernünftig umsetzen willst wirst du wohl um ein richtiges Plugin nicht rum kommen. Für alles andere sollte es mehr oder weniger elegant mit Bordmitteln gehen.
Kommt mit ein wenig bekannt vor das Problem. Im Store hatte ich dazu ein Plugin Tagcloud hinterlegt, was genau nach der “klassischen” Methode arbeitet. Also Produkte bekommen Tags zugeordnet und diese werden dann auf der Stratseite in einer TagCloud angezeigt. Ein Link auf die Tags zeigt dann exkate alle Produkte mit dem selben Tag. Eine Suche ist natürlich nicht mit eingebunden, aber wir konnten das Problem nur über ein Plugin lösen. Mit Bordmitteln war es nicht umsetzbar.
Über die Freifelder und Produkt Streams kannst du dir ja beliebige Listen im Shop zusammenbauen lassen. Problem ist das du dann pro möglichem Tag ein Freifeld brauchst. Da die Streams wenn ich jetzt nicht ganz daneben liege keine “Like” Abfrage auf das Freifeld ermöglichen so das du alles in ein Feld packen könntest.
Hab auch darüber gegrübelt, ob es ein “Like” gibt. zum Test hab ich in Freitext-2 in einem Artikel 3 Begriffe durch Leerezeichen getrennt angegeben.
Im Product-Stream war es dann " wie" - also kann man filtern. Ist natürlich dann statisch - aber es dürfte über ein Attribute gehen.
Wäre sicherlich ein Test wert, ehe man ein Plugin kauft oder gar selber baut.
Edit: wobei man dann natürlich bei der Auswahl der Tags aufpassen muss - bei Tags wie Brand und Brandenburg würde Brand auch auf Brandenburg matchen.
Also ich habe es nun folgendend gelöst: Ein CustomModel ProductTag, welches über das Attributsystem als multi_selection attribut dem artikel hinzugefügt wird.
Anschließend per Event die IDs ausgelesen und dem template zur Verfügung gestellt, als Tag-Cloud angezeigt.