4.13 Video Element

Thema: 4.13 Video Element

Stichworte:
  1. landzone:

    Standard 4.13 Video Element

    Nach einem Update von Contao 4.9 auf 4.13 funktioniert mein Custom Element mit eingebautem Video nicht mehr.
    Das Video Tag wird einfach nicht ausgegeben, in den Einstellungen ist es angeführt.

    Mein Code:
    PHP-Code: [Ansicht]
        <?php if ($video $this->getImageObject($this->arrData['backgroundVideo'])): ?>
                <video class="video-background" src="<?php echo $video->src ?>" autoplay loop playsinline muted></video>
               <?php endif ?>
        
            <h1 class="title h1">
                <?php echo $this->headline ?>
            </h1>
    Der Code wird erst ab der h1 gerendert.
    Könnt ihr mir auf die Sprünge gelfen?
    Danke
    Silvia
     
  2. landzone:

    Standard

    Ich komm hier immer noch nicht weiter, die if-Abfrage s. oben gibt NULL zurück.
    Die Variable
    PHP-Code: [Ansicht]
    $this->arrData['backgroundVideo'
    ist aber mit einem String gefüllt.

    Hat sich bei
    PHP-Code: [Ansicht]
    $this->getImageObject 
    in Contao 4.13 etwas geändert?
     
  3. Avatar von Spooky

    Spooky:

    Standard

    $this->getImageObject kannst du nicht für Videos verwenden (in keiner Version von Contao oder RSCE). Du musst dir über das FilesModel den Pfad zum Video holen, also zB:
    PHP-Code: [Ansicht]
    <?php if ($file Contao\FilesModel::findByUuid($this->backgroundVideo)): ?>
      <!-- <?= $file->path ?> -->
    <?php endif; ?>
    (unter der Annahme, dass backgroundVideo ein fileTree Widget ohne multiple => true ist). Außerdem nutzt du das <video> HTML Element falsch - das hat kein src Attribut. Siehe https://developer.mozilla.org/en-US/.../Element/video
    » sponsor me via GitHub or Revolut
     
  4. landzone:

    Standard

    @Spooky
    Danke, du hast mir sehr geholfen, das war die Lösung.

    $this->getImageObject kannst du nicht für Videos verwenden (in keiner Version von Contao oder RSCE).
    Es gab mal einen Thread: https://community.contao.org/de/show...-einbinden-Wie
    Daher hatte ich das wohl und bis dato (Contao 4.9) hat das auch so funktioniert.
    Hab also wieder was gelernt...


    (unter der Annahme, dass backgroundVideo ein fileTree Widget ohne multiple => true ist)
    ja, genau.


    Außerdem nutzt du das <video> HTML Element falsch - das hat kein src Attribut. Siehe https://developer.mozilla.org/en-US/.../Element/video
    Also da steht bei den Attributen:
    HTML-Code: [Ansicht]
    src: The URL of the video to embed. This is optional; you may instead use the <source> element within the video block to specify the video to embed.
    Sollte also beides gehen oder?

    Auf jeden fall vielen Dank für deine Hilfe!
     
  5. Avatar von Spooky

    Spooky:

    Standard

    Stimmt, mea culpa
    » sponsor me via GitHub or Revolut