Quantcast
Channel: OXID Community Forum
Viewing all articles
Browse latest Browse all 6951

Template: Smarty, IF-Anweisung in media.tpl

$
0
0
Hi,

System: CE 4.7.5_6, Theme "Azure".

Um Soundfiles (eingebunden als Mediendateien) für den Benutzer angenehmer wiedergeben zu können, habe ich den Media-Player audiojs eingebunden.
Hat, mit nachdenken und forschem hier im Forum auch wunderbar geklappt.

Voraussetzung:
  • Pro Artikel hat es mehrere Mediendateien (Links zu Youtube-Videos und MP3-Dateien)
  • Ich versuchte eine
    Code:

    foreach
    -Abfrage mit einer Weiche einzufügen, die die beiden Mediendatei-Arten unterscheiden kann und unterschiedlichen Code ausgibt.

Mein Problem:
  • Die Weiche funktioniert
  • Es wird aber nur jeweils ein Eintrag pro Mediendatei-Art angezeigt, also nur ein Youtube-Videolink und eine MP3-Datei.

Hier mein Code in media.tpl:
Code:

[{oxscript add="$('a.js-external').attr('target', '_blank');"}]
[{oxscript include="js/libs/audiojs/audio.min.js"}]

[{if $oDetailsProduct->oxarticles__oxfile->value}]
  <a id="productFile" class="js-external" href="[{$oDetailsProduct->getFileUrl()}][{$oDetailsProduct->oxarticles__oxfile->value}]">[{$oDetailsProduct->oxarticles__oxfile->value}]</a>
[{/if}]


[{if $oView->getMediaFiles()}]
  <div>
    [{foreach from=$oView->getMediaFiles() item=oMediaUrl}]
        [{if $oMediaUrl->oxmediaurls__oxurl->rawValue|@substr:-4!='.mp3'}]
      <p>[{$oMediaUrl->getHtml()}]</p>
          [{/if}]
    [{/foreach}]
       
        [{foreach from=$oDetailsProduct->getMediaUrls() item=oMediaLink}]
                [{if $oMediaLink->oxmediaurls__oxurl->rawValue|@substr:-4=='.mp3'}]
                <h3>[{$oMediaLink->oxmediaurls__oxdesc->value}]</h3>
                <audio src=" [{$oMediaLink->getLink()}] "</audio>
                [{/if}]
        [{/foreach}]
       
  </div>
[{/if}]

[{capture name=playerscript}]audiojs.events.ready(function() { var as = audiojs.createAll(); });[{/capture}]
[{oxscript add=$smarty.capture.playerscript }]

EDIT:
Bei genauer Betrachtung des HTML-Outputs stellt sich heraus, dass sehr wohl auch die MP3-Mediendateien ausgegeben werden, aber in verschachtelter Form:
Code:

<h3>Songtitle 1</h3>
<audio src="link_to_soundfile1.mp3</audio">
<h3>Songtitle 2</h3>
<audio src="link_to_soundfile2.mp3.mp3</audio"> </audio>
</audio>

EDIT 2:
Rätsel gelöst...
Im Code
Code:

<audio src=" [{$oMediaLink->getLink()}] "</audio>
war der Abschluss-Tag ">" nicht gesetzt.

Danke und Gruss

Viewing all articles
Browse latest Browse all 6951

Trending Articles