Diverse Attribute/Merkale in Produktliste/Artikelliste ausgeben

windpocke02

Aktives Mitglied
6. März 2017
99
6
Hallo zusammen,
ich habe bisher einen JTL-Shop 4. Als ich diesen erstellt habe, hatte ich das Template (item_list.tpl) so angepasst, dass bestimmte Attribute/Merkmale in der Artikelliste direkt mit angezeigt wurden. Der Code sieht wie folgt aus:

{if !empty($Artikel->cMerkmalAssoc_arr.Farbe)}
<li class="item row attr-sku">
<span class="attr-label col-sm-6">{$Artikel->oMerkmale_arr.1->cName}: </span> <img src="{$Artikel->oMerkmale_arr.1->oMerkmalWert_arr[0]->cBildpfadKlein}">
</li>
{/if}

Funktioniert auch einwandfrei.
Kann mir jemand sagen, wie der Code bei JTL Shop 5 aussehen muss? Ich habe den o.g. Code eingebaut, aber es wird natürlich nichts ausgegeben und ich stehe auf dem Schlauch.

Danke und Grüße, Daniel
 

FMoche

Moderator
Mitarbeiter
15. Dezember 2014
1.359
340
Halle (Saale)
So z.B.:
Code:
{foreach $Artikel->oMerkmale_arr as $attr}
    {if $attr->cName === 'Farbe' && isset($attr->oMerkmalWert_arr[0])}
        <li class="item row attr-sku">
            <span class="attr-label col-sm-6">{$attr->cName}: </span> <img src="{$attr->oMerkmalWert_arr[0]->cBildURLKlein}">
        </li>
        {break}
    {/if}
{/foreach}

"attr-sku" klingt mir übrigens nicht sinnvoll, aber das spielt hier keine Rolle.
 

windpocke02

Aktives Mitglied
6. März 2017
99
6
So z.B.:
Code:
{foreach $Artikel->oMerkmale_arr as $attr}
    {if $attr->cName === 'Farbe' && isset($attr->oMerkmalWert_arr[0])}
        <li class="item row attr-sku">
            <span class="attr-label col-sm-6">{$attr->cName}: </span> <img src="{$attr->oMerkmalWert_arr[0]->cBildURLKlein}">
        </li>
        {break}
    {/if}
{/foreach}

"attr-sku" klingt mir übrigens nicht sinnvoll, aber das spielt hier keine Rolle.
Super, vielen Dank. Das hat wunderbar funktioniert. Jetzt hab ich auch noch Attribute, die ich gerne ausgeben würde, aber nur dann wenn das Attribut bei dem entsprechenden Artikel vorhanden ist. Hast du mir da auch einen Tipp? Der Attributname wäre: "Reichweite (ISO/IEC 24711)". liebe Grüße
 

FMoche

Moderator
Mitarbeiter
15. Dezember 2014
1.359
340
Halle (Saale)
Je nachdem ob normales Attribut oder Funktionsattribut:
Code:
{$attr = 'Mein Attribut'}
{$Artikel->AttributeAssoc[$attr]|default:''}

Code:
{$attr = 'Mein Funktionsattribut'}
{$Artikel->FunktionsAttribute[$attr]|default:''}

..oder halt mit mit einem {if isset()}..
 

windpocke02

Aktives Mitglied
6. März 2017
99
6
Je nachdem ob normales Attribut oder Funktionsattribut:
Code:
{$attr = 'Mein Attribut'}
{$Artikel->AttributeAssoc[$attr]|default:''}

Code:
{$attr = 'Mein Funktionsattribut'}
{$Artikel->FunktionsAttribute[$attr]|default:''}

..oder halt mit mit einem {if isset()}..
Hallo, vielen Dank. Ich habe jetzt folgenden Code eingefügt:

{if isset($Artikel->AttributeAssoc['Reichweite (ISO/IEC 24711)'])}
{block name='productlist-item-details-reichweite-24711'}
{col tag='dt' cols=4}Reichweite ISO/IEC 24711: {/col}
{col tag='dd' cols=8}{AttributeAssoc['Reichweite (ISO/IEC 24711)']}{/col}
{/block}
{/if}

Jetzt kommt nur noch eine weiße Seite und ich finde den Fehler nicht.... :(
 

FMoche

Moderator
Mitarbeiter
15. Dezember 2014
1.359
340
Halle (Saale)
was soll denn auch {AttributeAssoc} sein? Da fehlt ein $Artikel->
Code:
{$attr = 'Reichweite (ISO/IEC 24711)'}
{if isset($Artikel->AttributeAssoc[$attr])}
    {block name='productlist-item-details-reichweite-24711'}
        {col tag='dt' cols=4}{$attr}: {/col}
        {col tag='dd' cols=8}{$Artikel->AttributeAssoc[$attr]}{/col}
    {/block}
{/if}
 

windpocke02

Aktives Mitglied
6. März 2017
99
6
was soll denn auch {AttributeAssoc} sein? Da fehlt ein $Artikel->
Code:
{$attr = 'Reichweite (ISO/IEC 24711)'}
{if isset($Artikel->AttributeAssoc[$attr])}
    {block name='productlist-item-details-reichweite-24711'}
        {col tag='dt' cols=4}{$attr}: {/col}
        {col tag='dd' cols=8}{$Artikel->AttributeAssoc[$attr]}{/col}
    {/block}
{/if}
Ich danke Dir recht herzlich. Hat jetzt prima funktioniert.
 

ple

Sehr aktives Mitglied
20. August 2019
444
58
Ich muss mich hier mal reinhängen, da ich aktuell das gleiche versuche aber noch kläglich scheitere.
Ich möchte gerne in dieser Box oder die rechts daneben bestimmte Merkmale ausgeben und hervorheben wie auf der Artikelseite selber.
Hat zufällig jemand den passenden Code für die Merkmale, dass die so ausgeben werden wie auf der Artikelseite selber und das sie auch klickbar sind?
Ist die item_details.tpl dafür zuständig? Wenn ja wäre ich für die passende Stelle + Code sehr dankbar :)
Wichtig wäre mir aber nur bestimmte Merkmale, nicht alle, das müsste ich dann hart reincoden.

Child ist angelegt, shop ist 5.2.4
Merkmale liste.png

JTL2.png

Gruß und besten Dank.