Neu Smyrty Variable "Bild Merkmal" für JTL Shop 5.2.3

windpocke02

Aktives Mitglied
6. März 2017
92
6
Hallo zusammen,
ich betreibe einen JTL SHop 5.1.5 und lasse mir in der Artikelbeschreibung ein bestimmtes Merkmal mit Name und Bild und Wert (als Text) anzeigen.
Der Code im Template sieht wie folgt aus:

{foreach $Artikel->oMerkmale_arr as $attr}
{if $attr->cName === 'Farbe' && isset($attr->oMerkmalWert_arr[0])}
{block name='productdetails-item-details-farbe'}
<tr class="attr-custom">
<td class="h6">{$attr->cName}: </td>
<td class="attr-value"><img src="{$attr->oMerkmalWert_arr[0]->cBildURLKlein}"> {$attr->oMerkmalWert_arr[0]->cWert}</td>
</tr>
{/block}
{/if}
{/foreach}

Jetzt habe ich eine Testumgebung für JTL-Shop 5.2.3 angelegt. Hier wird mir zwar Der Merkmalwert als Text ausgegeben, aber das zugehörige Bild nicht. Komplettabgleich von Merkmalen und Merkmalbilder ohne Erfolg.

Ich habe nun JTL Debug installiert, aber da wird mit im neuen Shop keine Variable für das bisherige "oMerkmalWert_arr[0]->cBildURLKlein" angezeigt. Gibt es diese Variable nicht mehr oder habe ich irgendwas übersehen?

Danke und Grüße, Daniel
 

FMoche

Moderator
Mitarbeiter
15. Dezember 2014
1.346
332
Halle (Saale)
Eigentlich gibt es cBildURLKlein noch. Aber alles was du da machst, ist ziemlich deprecated.
Das hier funktioniert in meinem Testshop:

Code:
{foreach $Artikel->oMerkmale_arr as $attr}
    {$characteristicValues = $attr->getCharacteristicValues()}
    {if $attr->getName() === 'Farbe' && count($characteristicValues) > 0}
        {block name='productdetails-item-details-farbe'}
            <tr class="attr-custom">
                <td class="h6">{$attr->getName()}: </td>
                <td class="attr-value"><img src="{$characteristicValues[0]->getImage('sm')}"> {$characteristicValues[0]->getValue()}</td>
            </tr>
        {/block}
        {break}
    {/if}
{/foreach}

Beachte dabei, dass === 'Farbe' natürlich nur klappt, wenn der Shop gerade auf deutsch angezeigt wird.
Wenn das auch für andere Sprachen klappen soll, müsste man da eher die ID prüfen.
 

windpocke02

Aktives Mitglied
6. März 2017
92
6
Eigentlich gibt es cBildURLKlein noch. Aber alles was du da machst, ist ziemlich deprecated.
Das hier funktioniert in meinem Testshop:

Code:
{foreach $Artikel->oMerkmale_arr as $attr}
    {$characteristicValues = $attr->getCharacteristicValues()}
    {if $attr->getName() === 'Farbe' && count($characteristicValues) > 0}
        {block name='productdetails-item-details-farbe'}
            <tr class="attr-custom">
                <td class="h6">{$attr->getName()}: </td>
                <td class="attr-value"><img src="{$characteristicValues[0]->getImage('sm')}"> {$characteristicValues[0]->getValue()}</td>
            </tr>
        {/block}
        {break}
    {/if}
{/foreach}

Beachte dabei, dass === 'Farbe' natürlich nur klappt, wenn der Shop gerade auf deutsch angezeigt wird.
Wenn das auch für andere Sprachen klappen soll, müsste man da eher die ID prüfen.
Ja ich gebe zu, die Abfrage ist noch aus dem JTL Shop 4 und wurde dann halt so an 5.1.5 angepasst, dass es funktioniert hat :)
Vielen Dank für Deine Hilfe. So funktioniert es jetzt auch in 5.2.3.
 

Ähnliche Themen