Extension "jwplayer" zum Laufen bringen

  • wiz wiz
    T3PO
    0 x
    16 Beiträge
    0 Hilfreiche Beiträge
    11. 07. 2011, 11:53

    Hallo Freunde,

    Ich habe die Extension "jwplayer" entdeckt - sie deckt sowohl den Flash-Bereich als auch HTML5 ab - die eierlegende Wollmichsau, nach der ich gesucht habe. Die Version 0.1.0 lief völlig problemlos. Nun gibt es die 1.0, was, den Konfigurationsmöglichkeiten im Backend folgend, sehr komfortabel wird. Allerdings bekomme ich im Frontend nur "Video is loading ..." - sprich das DIV wird nicht ersetzt.

    Leider gibt es kein Manual, das mir auf die Sprünge helfen könnte.

    Hat schon jemand das Plugin in der 1.0er Version laufen und kann mir einen Tipp geben?

    Danke!

    Wiebke


  • 1
  • Cubana13 Cubana13
    Sternenflotten-Admiral
    0 x
    153 Beiträge
    0 Hilfreiche Beiträge
    20. 10. 2011, 09:03

    Hallo Wiebke,

    hast du es schon geschafft?
    Bei mir erscheint immer nur "video wird geladen"

    Gruß Carsten

  • wiz wiz
    T3PO
    0 x
    16 Beiträge
    0 Hilfreiche Beiträge
    14. 11. 2011, 12:11

    Hallo Carsten,

    Ich hänge noch immer an der Stelle fest. :/

    Beste Grüße,
    Wiebke

  • moritz moritz
    Jedi-Meister
    0 x
    369 Beiträge
    0 Hilfreiche Beiträge
    06. 12. 2011, 22:08

    ich auch... o.O

  • timoefeu timoefeu
    T3PO
    0 x
    11 Beiträge
    0 Hilfreiche Beiträge
    23. 02. 2012, 11:21

    Hallo,
    ich möchte auch den jwplayer (1.2.4) in TYPO3 4.6.4 nutzen. ExtBase und Fluid musste ich zuvor installieren.

    Bekomme aber wie ihr nur diese Elemente eingefügt:

    1. <div class="jwplayer">
    2. <p id="player4f4611b2b5d1b">Video is loading ...</p>
    3. </div>

    Ich vermute mal, dass es am Extbase/Fluid liegt..Der Player läuft dann wohl bei keinem mehr?

  • BackenDüser BackenDü...
    Jar Jar Binks
    0 x
    1 Beiträge
    0 Hilfreiche Beiträge
    08. 06. 2012, 15:31

    Hier eine vorläufige Lösung. Ich habe den Entwickler kontaktiert und warte, was er mir sagt... möchte noch sichergehen, ob der Fehler nicht doch bei mir liegt.

    Ich hatte 2 Probleme, wobei das zweite eher auf das hier Beschriebene passt. Beide haben mit der Reihenfolge, in der JavaScripts inkludiert werden, zu tun:

    [b]1. Fehlermeldung "jQuery is not defined" in der Firebug-Konsolenausgabe.[/b] JS-Dateien der Extension können das via jQuery aufgerufene tx_jwplayer.init() (EXT:jwplayer/Resources/Public/Js/tx_jw_player.js) somit nicht ausführen.

    Der Grund: die JS-Files der Extension waren über den jQuery-Files positioniert (siehe EXT:jwplayer/Configuration/TypoScript/setup.txt). Lösung: die Includes aus der setup.txt in eigenem Extensiontemplate überschreiben

    1. page{
    2. includeJSFooterlibs {
    3. # JS-Dateien von "includeJSlibs" in "includeJSFooterlibs" verschieben, um die Reihenfolge zu korrigieren
    4. tx_jw_player < page.includeJSlibs.tx_jw_player
    5. jwplayer < page.includeJSlibs.jwplayer
    6. }
    7.  
    8. includeJSlibs {
    9. # eigenes jQuery oben inkludieren, ggf. danach noch jquery.forceOnTop = 1, falls die Reihenfolge immernoch nicht stimmt
    10. jquery = fileadmin/js/jquery-1.7.1.min.js
    11. # die alten JS-Includes aus dem Header entfernen, um den Code nicht doppelt zu inkludieren
    12. tx_jw_player >
    13. jwplayer >
    14. }
    15. }

    [b]2. "Video is loading ..." anstelle des Players:[/b]

    Die EXT:jwplayer/Resources/Private/Templates/Player/Index.html bindet mit dem extensioneigenen ScriptViewHelper den JS-Code ein, der den Player baut. Dieser ScriptViewHelper (EXT:jwplayer/Classes/Viewhelpers/ScriptViewHelper.php) bindet den in der Index.html folgenden Code mit der TYPO3-PageRenderer-Funktion addJsInlineCode (class.t3lib_pagerenderer.php::addJsInlineCode) ein. Dieser JS-Code landet damit im Header; da er aber in keinerlei Funktion gewrappt liegt, wird er beim Parsen ausgeführt. Zu dem Zeitpunkt existiert der paragraph, der mit dem Scriptcode durch den Player ersetzt werden soll, noch nicht.

    Mir hat der folgende Code in der EXT:jwplayer/Classes/Viewhelpers/ScriptViewHelper.php geholfen (wobei Änderungen direkt in der Extension ja eher vermieden werden sollten):

    Die Zeile

    1. $pagerender->addJsInlineCode(md5($content), $content, $compress, $forceOnTop);

    ersetzen durch
    1. $pagerender->addJsFooterInlineCode(md5($content), $content, $compress, $forceOnTop);

    Die Funktion >addJsFooterInlineCode() unterscheidet sich von >addJsInlineCode() dadurch, dass sie den Inlinecode unten in der Seite einbindet. Dann ist der paragraph schon geladen, wird gefunden und durch den Player ersetzt.

  • 1