Bildtitel aus namespace zuordnen

Guten Morgen,

wir möchten im buy_container.tpl Artikelattribute ausgeben.

In diesem Fall sind es Gefahrgutsymbole.
Shopware erhält die Artikeldaten per Schnittstelle aus unserer Warenwirtschaft inkl. Zuweisung verschiedener Attribute.

Die Anzeige der jeweiligen Symbole klappt.

Die Zuweisung von „alt“ bzw. „title“ möchte ich aus eigens dafür angelegten namespace machen.
klappt jedoch nicht.

Hier der Code dazu

{* Product attribute 12 / G2 *}
{block name='frontend_detail_data_attributes_attr12'}
{if $sArticle.attr12}
<li class="flex-item">
<img src="/media/gefahrgut/{$sArticle.attr12}"
alt="{s name="DetailDataGHS02" namespace="frontend/detail/data"}{/s}
title="{s name="DetailDataGHS02" namespace="frontend/detail/data"}{/s}">
</li>
{/if}
 {/block}

Versuch mal einfache Anführungszeichen innerhalb der geschweiften Klammern.

Entschuldigung jetzt hab ich den falschen Code gepostet.

{* Product attribute 12 / G2 *}
{block name='frontend_detail_data_attributes_attr12'}
{if $sArticle.attr12}
<li class="flex-item">
<img src="/media/gefahrgut/{$sArticle.attr12}"
alt="{s name="{$sArticle.attr12}" namespace="frontend/detail/data"}{/s}
title="{s name="{$sArticle.attr12}" namespace="frontend/detail/data"}{/s}">
</li>
{/if}
 {/block}

{$sArticle.attr12} beinhaltet dabei das beim Artikel in den Attributen jeweils hinterlegte Symbol
hier im Beispiel „GHS02.jpg“

Sorry, aber deine Lösung ist nicht gut. Also maximal ungünstig kann man sagen.

  • Lade die Bilder in frontend/_public/src/img/icons/ghs/
  • mach im Backend ein Freitextfeld „checkbox“ für jedes Gefahrengut. Wenn es zu viele sind, dann mach ein Freitextfeld „text“ wo du dir abkürzungen ausdenkst für jede Gefahr und sie dann mit komma trennst, z.B. „a,b,c“
  • Diese checkbox oder das „a,b,c“ fragst du im Template ab mit if else
  • je nach If else zeigst du ein einziges Bild und ggf noch den Text dazu
  • dieser Text kann von einem Textbaustein kommen.

Die Freitextfelder sind ja bereits vorhanden.
Ich frage diese im Template ja schon mit if ab.

Sie sind vorhanden, aber nicht als Checkbox. Willst du da jedesmal was reinschreiben?

Ich vertiefe nochmal kurz, hatte es aber weiter oben schon erwähnt.
Unser Shop erhält sämtliche Daten per Schnittstelle/Api aus der Warenwirtschaft.

Anbei ein Screenshot.
Rechts die Artikelkartei mit den „USER-Feldern“ wie GHS1 - GHS8.
Diese werden je nach Artikel mit den passenden Gefahrgutdaten gepflegt.
Die Schnittstelle (linkes Fenster) greift auf diese Felder zu und übermittelt diese samt Inhalt zu Shopware.

Unsaubere Lösung, aber naja,
Hast du jetzt mal die Anführungszeichen geändert innerhalb der geschweiften klammer?
Ggf mal schauen ob punkte als Textbausteinname zugelassen sind. Und ggf mal testen ob ein {$sArticle.attr12|escape} nötig ist.

du meinst so

    {* Product attribute 11 / G1 *}
                       {block name='frontend_detail_data_attributes_attr11'}
					     {if $sArticle.attr11}<li class="flex-item"><img src="/media/gefahrgut/{$sArticle.attr11}" alt="{s name='{$sArticle.attr11}' namespace="frontend/detail/data"}{/s} title='{s name="{$sArticle.attr11}' namespace="frontend/detail/data"}{/s}"></li>{/if}
                       {/block}