Variable bei Attribut-Filter im Product-Stream

Hallo Community,

vielleicht könnt Ihr mir weiterhelfen:

Habe einen Product-Stream mit einem Attribut-Filter angelegt. Ziel ist es, alle weiteren Artikel des gleichen “Komponisten” anzeigen zu lassen.

Produtkattribut ist “attr1” eines konfigurierten Freitextfeldes (“Komponist”).

Operator ist “IST”

Der Wert soll nun nicht für alle (in meinem Beispiel “Komponisten”) manuell eingefügt werden also nach dem Prinzip “attr1” IST “Beethoven”,
sondern als Variable, die dem Attribut des aktuellen Artikels entspricht, dem der Product-Stream zugeordnet ist, also:
“attr1” IST “{$sArticle.attr1}” (des aktuellen Artikels)

Gibt es hier eine Möglichkeit, den value des Filters als solch Variable anzulegen?

Wo wären Anpassungen vorzunehmen?

Freue mich über Lösungsansätze, herzlichen Dank schon mal.

Hallo PPP,

auch wenn deine Anfrage bereits 10 Monate zurückliegt, wollte ich das Thema nocheinmal beleben, da ich eine ganz ähnliche (im Prinzip gleiche) Anforderung umsetzen muss.

Aktuell weiß ich, dass die Bedingungen nach der der Product-Stream filtert in die Datenbank Tabelle „s_product_streams“ ins Feld „conditions“ gespeichert werden. Da liegt dann aber ein JSON-String, der in etwa so aussieht:

{„Shopware\Bundle\SearchBundle\Condition\ProductAttributeCondition|series“:{„field“:„series“,„operator“:"=",„value“:""{$sArticle.attr1}""}}

 

Jetzt ist natürlich die Frage, was zu tun ist, dass die Smarty-Variable auch ausgewertet wird.
In der ProductAttributeCondition.php finde ich da nur einen Getter, der sich den Wert ja quasi unausgewertet holt. Nur wo es jetzt „weitergeht“, wo die Abfrage stattfindet, und wo ich hier ggf. über ein Plugin einen Override bauen könnte, der nach gewissen Regeln (z.B. wenn der String mit „{$“ beginnt, das ganze anders zu behandeln, das zumindest wäre mein erster Ansatz) die Funktionalität erweitert… Daaaa bräuchte ich euer schlaues Schwarm-Wissen :wink:

Hm das finde ich auch spannend und hätte so eine Funktion von Shopware auch erwartet. Der Umweg wäre ja oft, unzählige Streams zu machen - ich möchte Z.B. bestimmte Produkte des Herstellers auf der Artikelseite anzeigen. Habt ihr eine Lösung?

*push*

 

Wir möchten einen ProductStream vom User abhängig anzeigen, á la  $sArtciles.attr10 = $sUsers.additional.attr10

Gleicher Fall, andere Felder/Tabellen.

Ich schließe mich dem Thema auch an, es gibt ja einige Anfragen hier im Forum dazu, nur nie eine Lösung.

Ich würde ebenfalls gerne einen productStream nutzen und dabei bestimmte Varianten ausschließen, es werden aber immer komplette Artikel angezeigt.