Hi Leute,
ich hoffe es kann mir jemand helfen.
Ich versuche auf der Produktdetailseite die OptionValue in Bilder zu ändern.
Ich habe mittlerweile geschafft die MediaID im Option Array auszugeben, aber wenn ich nun folgendes in die Datei schreibe:
{% for option in group.options %}
{% set i = ( i | default(0) ) + 1 %}
<span>{% if i > 1 %}, {% endif %}
{# simplify ID access #}
{% set badgeMediaId = option.mediaId %}
{# get access to media of product #}
{% set badgeMedia = mediaCollection.get(badgeMediaId) %}
{{ badgeMediaId }} {{ badgeMedia }}
{{ option.translated.name|e }} </span>
{% endfor %}
Dann gibt er mir zwar die badgeMediaId aus, aber nicht die Variable badgeMedia,
Ergo muss irgendetwas bei mediaCollection.get falsch sein.
Weiss jemand vll wo hier der Fehler sein könnte?
Danke!
Lg
Manuel
/Edit
Wenn ich das Ganze wiefolgt versuche:
{% block page_product_detail_properties_item_value %}
{# initial ID array #}
{% set badgeMediaIds = [] %}
{% for option in group.options %}
{# simplify ID access #}
{% set badgeMediaId = option.mediaId %}
{# merge IDs to a single array #}
{% set badgeMediaIds = badgeMediaIds|merge([badgeMediaId]) %}
{% endfor %}
{% set mediaCollection = searchMedia(badgeMediaIds, context.context) %}
<td class="properties-value">
{% apply spaceless %}
{% for option in group.options %}
{% set i = ( i | default(0) ) + 1 %}
<span>{% if i > 1 %}, {% endif %}
{# simplify ID access #}
{% set badgeMediaId = option.mediaId %}
{# get access to media of product #}
{% set badgeMedia = mediaCollection.get(badgeMediaId) %}
{{ badgeMediaId }} {{ badgeMedia }}
{{ option.translated.name|e }} </span>
{% endfor %}
{% endapply %}
</td>
{% endblock %}
erhalte ich folgende Fehlermeldung:
Object of class Shopware\Core\Content\Media\MediaEntity could not be converted to string
// edit 2
Gelöst:
{% block page_product_detail_properties_item_value %}
{% set media = searchMedia([option.mediaId], context.context) %}
<td class="properties-value">
{% apply spaceless %}
{% for option in group.options %}
{% set optionMedia = media.get(option.mediaId) %}
<img src="{{ (optionMedia.url) }}" />
{% set i = ( i | default(0) ) + 1 %}
<span>{% if i > 1 %}, {% endif %}
{{ option.translated.name|e }} </span>
{% endfor %}
{% endapply %}
</td>
{% endblock %}
tippe oder füge den Code hier ein