Diverse Attribute/Merkale in Produktliste/Artikelliste ausgeben

windpocke02

Aktives Mitglied
6. März 2017
77
3
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.216
250
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
77
3
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.216
250
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
77
3
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.216
250
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
77
3
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.