Text anzeigen anhand von Artikelmerkmal

Hallo zusammen,

ich möchte auf der Warenkorbseite einen Hinweistext anzeigen lassen, sobald sich 2 Artikel mit 2 bestimmten Merkmalen im Warenkorb befinden.

Mit folgendem Code bekomme ich auch die Merkmale ausgegeben allerdings habe ich einen Denkfehler drin bei dem ich nicht weiter komme. Denn aktuell prüft er nicht ob es 2 Artikel sind sondern ob die Merkmale bei dem selben Artikel sind. Wer kann mir denn da weiterhelfen:

{foreach $sBasket.content as $sBasketItem}
        {if ($sBasketItem.additional_details.merkmal_1 == "1" && $sBasketItem.additional_details.merkmal_2 == "2")}
            In Ihrem Warenkorb befinden sich Artikel die nicht miteinander Kompatibel sind.
        {/if}
{/foreach}

Besten Dank

Du prüfst hier 2 Merkmale eines Artikels, das entspricht ja generell schon mal nicht der Beschreibung.

Um zu schauen, wie viele Artikel im Warenkorb dem Merkmal entsprechen müsstest du die Artikel in einer Schleife durchlaufen (foreach z.B.) und in einer Variable tracken, wie oft du einen Treffer erziehlt hast - mit der befüllten Variable kannst du dann den IF-Abgleich machen.

foreach(artikel_im_warenkorb) {
  if(artikel.merkmal == “suche”)  $treffer++;
}

if($treffer >= 2)
  Hier dein Code

 

So wäre das als Pseudocode, musst das noch in Smarty übersetzen :wink: