ErikN
6. September 2021 um 12:47
1
Hallo,
Ich habe die UUID von einer in den Medien hochgeladenen PDF benötige allerdings den Link zu eben dieser Datei, kann ich aus dieser UUID den Link generieren? Wenn ja wie?
Die UUID bezeihe ich indem ich innerhlab der twig file {{ page.product.customFields.datasheet }} aufrufe, welches ein Bei einem Artikel hinterlegt zusatzfeld des Typs medien Feldes ist.
Vielen Dank schonmal
hanuman
16. Februar 2023 um 10:29
2
Hallo,
ist zwar schon lange her, aber das würde ich auch gerne wissen.
Hat vielleicht jemand einen Link zur Hand? Oder ein CodeBeispiel?
Das wäre klasse. Vielen Dank
hanuman
16. Februar 2023 um 11:08
3
Also:
Ich habe es nun anhand dieser Anleitung versucht:
https://developer.shopware.com/docs/guides/plugins/plugins/plugin-fundamentals/custom-fields-of-type-media
Aber leider funktioniert das so nicht.
Entweder, weil ich nicht in derselben twig Datei, wie in der Anleitung, oder weil der Funktionsaufruf anders lauten muss?
Ich passe die Datei tabs.html.twig an. Dort liefert mir
{{ page.product.translated.customFields.custom_sizetable_image }}
die UUID des Bildes. Allerdings liefert
{% set customMediaId = page.product.translated.customFields.custom_sizetable_image %}
{% set customMedia = mediaCollection.get(customMediaId) %}
{{ dump(customMedia) }}
null zurück
okay. Ich Blödmann habe vergessen die mediaCollection zu erzeugen.
Das wird in der Anleitung mittels:
{% set mediaCollection = searchMedia([mycustomMediaId], context.context) %}
getan.
Allerdings führt das zu einer Fehlermeldung:
Object of class Shopware\Core\Content\Media\MediaEntity could not be converted to string
Hmmm … und nun?
Wie rufe ich den die Funktion searchMedia korrekterweise auf?
hanuman
16. Februar 2023 um 11:48
4
So.
Doch noch geschafft
Folgender Code funktioniert bei mir:
{% block page_product_detail_tabs_content_custom_media %}
<div class="tab-pane fade show {% if (ratingSuccess != 1) and (ratingSuccess != -1) %}active{% endif %}"
id="custom-tabelle-tab-pane"
role="tabpanel"
aria-labelledby="custom-tabelle-tab">
{% set mycustomMediaId = page.product.translated.customFields.custom_sizetable_image %}
{% set mediaCollection = searchMedia([mycustomMediaId], context.context) %}
{% set mycustomMedia = mediaCollection.get(mycustomMediaId) %}
<img class="sizetable" src="{{ (mycustomMedia.url) }}" alt="" />
</div>
% endblock %}
Vielleicht hilft das ja jemandem.
1 „Gefällt mir“