$oMediaUrl->oxmediaurls__oxdesc->value zeigt immer gleichen String


#1

Hallo!

Ich habe mich hier neu angemeldet weil ich auf der Suche nach einer Lösung für mein Problem bin. Um Audiodateien mit einem Player einzubinden habe ich die media.tpl entsprechend angepasst. Das funktioniert auch wunderbar, nun hätte ich aber neben der Möglichkeit die Titel abzuspielen noch gerne den Titelnamen angezeigt. Auch das funktioniert, ich gebe den Titel an entsprechender Stelle mit

    {[$oMediaUrl->oxmediaurls__oxurl->value}]

aus. Der komplette Abschnitt sieht dann so aus:

[{if $oView->getMediaFiles()}]
[{foreach from=$oView->getMediaFiles() item="oMediaUrl" name="mediaURLs"}]
[{assign var="sUrl" value=$oMediaUrl->oxmediaurls__oxurl->value}]
[{assign var="blIsYouTubeMedia" value=false}]
[{if $sUrl|strpos:'youtube.com' || $sUrl|strpos:'youtu.be'}]
[{assign var="blIsYouTubeMedia" value=true}]
[{/if}]

[{if !$smarty.foreach.mediaURLs.first}]
[{/if}]
<div class="[{if $blIsYouTubeMedia}]embed-responsive embed-responsive-4by3[{/if}]">
    [{foreach from=$oDetailsProduct->getMediaUrls() item=oMediaLink}]
    [{capture name=media}][{$oMediaLink->getLink()}][{/capture}]
    [{$oMediaUrl->oxmediaurls__oxurl->value}]
    </p>
    <audio controls controlsList="nodownload">
        <source src="[{$smarty.capture.media}]"><a href="[{$smarty.capture.media}]"></a>
    </audio>
        </p>
        [{/foreach}]
</div>
[{/foreach}]
[{/if}]

Leider scheint hier mit der Schleife irgendwas nicht zu passen oder ich hab das noch nicht verstanden. Die unterschiedlichen Titel erscheinen aber der Text für den Titel ist immer die Beschreibung der ersten Mediendatei.

Was mache ich an dieser Stelle falsch bzw. wie muss ich den Code modifizieren damit er auch die korrekten Beschreibung über [{$oMediaUrl->oxmediaurls__oxurl->value}] ausgibt?

Ich danke Euch schon mal.


#2

Du hast zwei Schleifen, eine über $oView->getMediaFiles() mit item="oMediaUrl"
und zweite über $oDetailsProduct->getMediaUrls() mit item=oMediaLink

und in der zweiten Schleife greifst Du auf $oMediaUrl aus der ersten Schleife zu, wodurch Du in jedem Durchgang der zweiten Schleife im Endeffekt auf das selbe Objekt zugreifst.


#3

Danke für die Antwort.

Das heißt ich muss die Ausgabe

 [{$oMediaUrl->oxmediaurls__oxurl->value}]

direkt über der ersten Schleife positionieren?


#4

Sind da wirklich zwei Schleifen nötig? Ich kann den Code momentan nicht testen, weil das Rechenzentrum von meinem Hoster gerade tot ist.
Im Flow gibts an dieser Stelle jedenfalls nur eine Schleife über $oView->getgetMediaFiles() und darüber werden die Links samt Beschreibung und URL erzeugt.


#5

Ich würde dir ja gerne ausführliche Antworten aber ich bekomme immer die Meldung “403 Forbidden” :slight_smile:


#6

Hier im Forum? Oder im Shop?


#7

Die Fehlermeldung erhalte ich hier im Forum und hab keine Ahnung warum…


#8

kannst du mir vielleicht eine PN mit der blockierten Antwort schicken? Oder ein Screenshot?
Wir haben zwar ein paar Wörter auf der Blacklist, aber diese Wörter dürften nur in ganz anderen inhaltlichen Zusammenhängen auftreten, als online shops und ecommerce


#9

Habe dir eine PN geschickt.