Seite 1 von 2
Attachment Mod: JW FLV Media Player einbinden
Verfasst: 01.10.2008 14:34
von Dungeonwatcher
Hi!
Ich versuche seit Stunden den
JW FLV Media Player anstelle des reinen Flasplayer in den Attachment Mod einzubinden. Dazu habe ich diesen Codeblock:
Code: Alles auswählen
<script type="text/javascript" language="javascript">
//<![CDATA[ /// Flash Javay method
var ua = navigator.userAgent.toLowerCase();
if ((ua.indexOf("msie") != -1) && (ua.indexOf("opera") == -1) && (ua.indexOf("webtv") == -1)){
document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/#version=9,0,23,0" width="{postrow.attach.cat_swf.WIDTH}" height="{postrow.attach.cat_swf.HEIGHT}">');
document.write('<param name="movie" value="{postrow.attach.cat_swf.U_DOWNLOAD_LINK}" /></object> '); }
else{ document.write('<object data="{postrow.attach.cat_swf.U_DOWNLOAD_LINK}" type="application/x-shockwave-flash" width="{postrow.attach.cat_swf.WIDTH}" height="{postrow.attach.cat_swf.HEIGHT}"></object>'); }
//]]>
</script>
<noscript>
<object data="{postrow.attach.cat_swf.U_DOWNLOAD_LINK}" type="application/x-shockwave-flash" width="{postrow.attach.cat_swf.WIDTH}" height="{postrow.attach.cat_swf.HEIGHT}">
<param name="movie" value="{postrow.attach.cat_swf.U_DOWNLOAD_LINK}" />
</object>
</noscript>
durch diesen ersetzt:
Code: Alles auswählen
<p id="fvideo" class="media">{postrow.attach.cat_swf.U_DOWNLOAD_LINK}</p>
<script type="text/javascript" src="./templates/swfobject.js"></script>
<script type="text/javascript">
var s1 = new SWFObject("./templates/player.swf","ply","640","480","9","#ffffff");
s1.addParam("allowfullscreen","true");
s1.addParam("autostart","true");
s1.addParam("flashvars","file=../../forum/{postrow.attach.cat_swf.U_DOWNLOAD_LINK}");
s1.write("fvideo");
</script>
Solange es nur ein einziges Video im Thread gibt, tut dies auch bestens funktionieren. Sobald aber ein zweites oder mehr dazu kommen gibt es Chaos. Teilweise wird das falsche Video abgespielt, teilweise wird der Player garnicht erst angezeigt.
Was läuft da falsch?
Bye
Verfasst: 01.10.2008 15:29
von StarWolf3000
Hätte da einen Vorschlag:
Anstatt die Player-ID "fvideo" fest hineinzuschreiben, würde ich eine ID generieren lassen, bspw. "fvideo_attach
Post-Nummer" (ergibt z.B. "fvideo_attach18", wenn das Video im Beitrag Nr. 18 in der Datenbank ist).
Code: Alles auswählen
<p id="fvideo_attach{postrow.attach.cat_swf.POST_ID}" class="media">{postrow.attach.cat_swf.U_DOWNLOAD_LINK}</p>
<script type="text/javascript" src="./templates/swfobject.js"></script>
<script type="text/javascript">
var s1 = new SWFObject("./templates/player.swf","ply","640","480","9","#ffffff");
s1.addParam("allowfullscreen","true");
s1.addParam("autostart","true");
s1.addParam("flashvars","file=../../forum/{postrow.attach.cat_swf.U_DOWNLOAD_LINK}");
s1.write("fvideo_attach{postrow.attach.cat_swf.POST_ID}");
</script>
In der /attach_mod/displaying.php müsste dann nur noch die Template-Variable "POST_ID" in den "postrow.attach.cat_swf"-Block der Funktion display_attachments() eingebunden werden.
Suche (innerhalb von function display_attachments())
Code: Alles auswählen
$template->assign_block_vars('postrow.attach.cat_swf', array(
'U_DOWNLOAD_LINK' => $filename,
'S_UPLOAD_IMAGE' => $upload_image,
Danach einfügen
Verfasst: 01.10.2008 15:49
von Dungeonwatcher
StarWolf3000 hat geschrieben:Hätte da einen Vorschlag:
Anstatt die Player-ID "fvideo" fest hineinzuschreiben, würde ich eine ID generieren lassen, bspw. "fvideo_attachAttachment-Nummer" (ergibt z.B. "fvideo_attach18", wenn das Video das Attachment Nr. 18 in der Datenbank ist).
Ja genau, an diese Player-ID dachte ich auch schon. Wenn ich es richtig verstehe, bekommen alle Player Fenster die gleich ID. Die Browser kommen dadurch logischerweise ins trudeln.
Deine Idee klingt gut.
In der viewtopic.php müsste dann nur noch die Template-Variable "ATTACH_ID" in den "postrow.attach.cat_swf"-Block eingebunden werden.
Hmmm, in der viewtopic.php finde ich nichts passendes? Dafür in der displaying.php. Der Code Block dürfte dieser sein:
Code: Alles auswählen
$template->assign_block_vars('postrow.attach.cat_swf', array(
'U_DOWNLOAD_LINK' => $filename,
'DOWNLOAD_NAME' => $display_name,
'FILESIZE' => $filesize,
'SIZE_VAR' => $size_lang,
'COMMENT' => $comment,
'L_DOWNLOADED_VIEWED' => $lang['Viewed'],
'WIDTH' => $width,
'HEIGHT' => $height)
);
Wie müsste das dann hier aussehen?
Verfasst: 01.10.2008 16:06
von StarWolf3000
Beitrag schneller geändert, als du antworten konntest.
Weiter im Text:
Das ganze hat natürlich auch einen Nachteil: Wenn mehrere Videos pro Beitrag eingebunden werden, funktioniert das natürlich nicht mehr, da dann auch wieder alle die selbe ID haben. Das macht aber nichts, denn auch dazu habe ich eine passende Lösung parat:
Suchen (wieder in der Funktion)
Code: Alles auswählen
$template->assign_block_vars('postrow.attach.cat_swf', array(
Davor einfügen
Code: Alles auswählen
srand ((double)microtime() * 1000000);
$zufall = rand(0,99999);
Suche (innerhalb function display_attachments())
Ersetzen mit
Verfasst: 01.10.2008 16:13
von Dungeonwatcher
StarWolf3000 hat geschrieben:Beitrag schneller geändert, als du antworten konntest.
So schnell kann ich garnicht den Code editieren wie du schreibst...

Verfasst: 01.10.2008 16:30
von StarWolf3000
Ändere die Variable in dem Temlate von POST_ID auf RANDOM_ID um, wir bauen jetzt die Post-ID wieder aus.
Suchen (innerhalb function display_attachments())
Ersetzen durch
In der function display_attachments_preview() machen wir jetzt das gleiche nochmal:
Suche
Code: Alles auswählen
$template->assign_block_vars('postrow.attach.cat_swf', array(
'U_DOWNLOAD_LINK' => $filename,
'DOWNLOAD_NAME' => $display_name,
Davor einfügen
Code: Alles auswählen
srand ((double)microtime() * 1000000);
$zufall = rand(0,99999);
Danach einfügen
Verfasst: 01.10.2008 18:15
von Dungeonwatcher
Hi!
Ein riesengroßes Dankeschön!!
Das tut jetzt bestens funktionieren. Ich habe selber kein Durcheinander festgestellt und ich gehe davon aus das meine User auch nichts dergleichen beobachten werden.
THNX
Bye
Re: Attachment Mod: JW FLV Media Player einbinden
Verfasst: 30.11.2010 10:46
von MDuss
Hi Leute.
Ich habe gestern auch den Attach Mod 2.45 eingebaut.
Kann mir bitte jemand hier beschreiben, welche Dateien ich hier wie ändern muss, damit ich den JW FLV Media Player auch nutzen kann.
Ich würde diesen gerne für Video und Audio Dateien nutzen.
Hier wird ja leider nicht genau beschrieben zu, welche Datei genau geändert wird.
Im Eröffnungsthread steht z.B. nur: Dazu habe ich diesen Codeblock durch diesen ersetzt.
Aber es steht nirgends, wo dieser Block zu finden ist.
Und selbst gefunden habe ich diesen bisher auch nicht.
MfG
MDuss
Re: Attachment Mod: JW FLV Media Player einbinden
Verfasst: 30.11.2010 11:35
von Dungeonwatcher
Hi!
MDuss hat geschrieben:Ich habe gestern auch den Attach Mod 2.45 eingebaut.
Ich eine Vorgängerversion, genaue weiss ich aber nicht mehr.
Hier wird ja leider nicht genau beschrieben zu, welche Datei genau geändert wird.
Im Eröffnungsthread steht z.B. nur: Dazu habe ich diesen Codeblock durch diesen ersetzt.
Aber es steht nirgends, wo dieser Block zu finden ist.
Im Text weiter unten steht's aber.
Es ist die ...\attach_mod\
displaying.php
Da ich das Original nicht mehr habe, hier mal der kplt. Code:
displaying.php
Bye
Re: Attachment Mod: JW FLV Media Player einbinden
Verfasst: 01.12.2010 10:40
von MDuss
Hi
Dungeonwatcher.
Danke für deine Antwort.
Wo ich aber noch Probleme habe:
Du schreibst ja:
Dungeonwatcher hat geschrieben:Code: Alles auswählen
<script type="text/javascript" language="javascript">
//<![CDATA[ /// Flash Javay method
var ua = navigator.userAgent.toLowerCase();
if ((ua.indexOf("msie") != -1) && (ua.indexOf("opera") == -1) && (ua.indexOf("webtv") == -1)){
document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/#version=9,0,23,0" width="{postrow.attach.cat_swf.WIDTH}" height="{postrow.attach.cat_swf.HEIGHT}">');
document.write('<param name="movie" value="{postrow.attach.cat_swf.U_DOWNLOAD_LINK}" /></object> '); }
else{ document.write('<object data="{postrow.attach.cat_swf.U_DOWNLOAD_LINK}" type="application/x-shockwave-flash" width="{postrow.attach.cat_swf.WIDTH}" height="{postrow.attach.cat_swf.HEIGHT}"></object>'); }
//]]>
</script>
<noscript>
<object data="{postrow.attach.cat_swf.U_DOWNLOAD_LINK}" type="application/x-shockwave-flash" width="{postrow.attach.cat_swf.WIDTH}" height="{postrow.attach.cat_swf.HEIGHT}">
<param name="movie" value="{postrow.attach.cat_swf.U_DOWNLOAD_LINK}" />
</object>
</noscript>
ersetzen mit
Code: Alles auswählen
<p id="fvideo" class="media">{postrow.attach.cat_swf.U_DOWNLOAD_LINK}</p>
<script type="text/javascript" src="./templates/swfobject.js"></script>
<script type="text/javascript">
var s1 = new SWFObject("./templates/player.swf","ply","640","480","9","#ffffff");
s1.addParam("allowfullscreen","true");
s1.addParam("autostart","true");
s1.addParam("flashvars","file=../../forum/{postrow.attach.cat_swf.U_DOWNLOAD_LINK}");
s1.write("fvideo");
</script>
Mein Problem dabie:
Ich finde weder den einen noch den anderen Code. ich muss aber doch angeben, wo z.B. der Palyer (also die Palyer.swf) auf dem Server liegt. Und dies ist im obigen Code angegeben. Aber wo muss ich diesen Teil einbauen?
Diesen Code finde ich auch nicht in der Datei displaying.php
MfG
MDuss