Neu Smarty Ausdruck - Prüfung cHersteller aus Warenkorb

rschindler

Aktives Mitglied
20. Dezember 2016
34
3
Hallo zusammen,

ich habe hier leider ein kleines Smarty Problem.

Ich verwende die Drops von Kreativkonzentrat und möchte ein Hinweisfeld setzen.

Die Logik ist: Sobald ich einen Artikel eines bestimmten Herstellers z.B. "Bosch" im Warenkorb habe, soll das Hinweisfeld angezeigt werden.

Nun habe ich das Problem, dass mein unten anstehender Smarty Ausdruck nur auf Array 0 zeigt. Ich hab keine Ahnung, wie ich alle Arrays prüfen kann. Also 0,1, 2,3,4,5 etc.

$Warenkorb->PositionenArr[0]->Artikel->cHersteller == "Bosch"

Danke im Voraus für eure Hilfe
 

Kreativkonzentrat

Offizieller JTL-Partner
ZTBanner
26. April 2012
286
64
Dresden
Hallo,

für die Lösung benötigst du leider etwas mehr Smarty Code, mit den normalen Darstellungsfilter ist das Durchsuchen von komplexeren Arrays leider nicht so einfach zu machen.
Ich habe dir hier mal etwas vorbereitet: http://lg2jr.dropper.zone
Gern mal im Backend anschauen und im Frontend probieren (Artikel von "JTL-Software" in den WK packen).

Die Grundidee dahinter: wir nehmen ein Plain Drop, aktivieren darin Smarty und durchsuchen damit unser Array. Finden wir, was wir suchen (in meinem Beispiel Artikel vom Hersteller "JTL-Software" in der Positionsliste des Warenkorbens), stellen wir unseren Inhalt dar.
Ich verlinke dann ein Image Banner Drop und stelle es unter der Positionsliste auf der Warenkorbseite dar. Die Einfügeposition regele ich in unserem Plain Drop Container.

Der Inhalt des Plain Drops

Code:
{if !empty($Warenkorb->PositionenArr)}
    {* search for vendor "JTL-Software" in cart pos *}
    {assign var="kkVendorMatch" value=false}
    {foreach from=$Warenkorb->PositionenArr item="wkPos"}
        {if !empty($wkPos->Artikel->cHersteller) && $wkPos->Artikel->cHersteller==="JTL-Software"}
            {* product with vendor "JTL-Software" found! *}
            {assign var="kkVendorMatch" value=true}
        {/if}
    {/foreach}
    {* your content if vendor found, i.e. link another drop *}
    {if $kkVendorMatch === true}
    <div class="kk-basket-note bottom15">
        [DEIN-INHALT]
    </div>
    {/if}
{/if}

Die Einfügeoptionen des Plain Drops (Evo Template)

vendor_found_darstellungsfilter.png

Ich hoffe das hilft!

PS: gern auch über unsere Ticketsystem anfragen, sonst kommen solche Anfragen eher zufällig bei uns an :)

Viele Grüße
Niels vom Kreativkonzentrat
 
  • Gefällt mir
Reaktionen: rschindler

rschindler

Aktives Mitglied
20. Dezember 2016
34
3
Wieder einmal bedanke ich mich vielmals bei Euch. Ihr seid einfach klasse.

Die Dropps von Kreativkonzentrat zu nutzen, kann ich einfach nur empfehlen. Ich bin sehr zu frieden!
Und mit etwas Smarty Code und know how kann man so tolle Effekte und Gimmicks erzielen.