Youtube-Video dynamisch einbinden

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • niqo
    Contao-Nutzer
    • 29.10.2010
    • 17

    #1

    Youtube-Video dynamisch einbinden

    Hallo !!

    folgende Lage:
    Ich habe ein Feld "bericht_url" in meiner Datenbank, welches (in Form einer URL) zu einem Youtube-Video führt.

    Wenn ich nun diesen Datensatz wieder aus der Datenbank abrufe, soll dann aber das Video eingebettet zu sehen sein. Dafür gibt es ja auch den Code auf Youtube. Das Problem dabei:

    Die URL zum Einbetten des Videos unterscheidet sich zur URL in der Adresse.

    Folgenden php-Code habe ich dazu für meine catalog_full.tpl erstellt. Leider ohne Erfolg...

    Code:
    <?php 
    $youtube = $entry['data']['bericht_url']['value']; //der gespeicherte Link
    $ungueltig = array("watch", "?", "=");
    $gueltig = array("", "", "/"); 
    $URL = str_replace($ungueltig, $gueltig, $youtube);?>
    
    <object width="560" height="340">
    <param name="movie" value="<?php echo $URL; ?>"></param>
    <param name="allowFullScreen" value="true"></param>
    <param name="allowscriptaccess" value="always"></param>
    <embed src="<?php echo $URL; ?>" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object>
    Wenn ich den den Link manuell (zum Test) eingebe funktioniert es.

    Vielen Dank im Voraus.

    Grüße
    Niqo
    Angehängte Dateien
  • niqo
    Contao-Nutzer
    • 29.10.2010
    • 17

    #2
    ich habe folgende zeile abgeändert:
    ALT:
    Code:
    $youtube = $entry['data']['bericht_url']['value']; //der gespeicherte Link
    NEU:
    Code:
    $youtube = $entry['data']['bericht_url']['raw']; //der gespeicherte Link
    Der Link wird mit meiner str_replace-Methode auch abgeändert, NUR das = (Gleichheitszeichen) nicht.

    Beispielsdaten:
    http://www.youtube.com/watch?v=kzFsuJ-rVZM //so, in der Datenbank gespeichert.
    http://www.youtube.com/v=kzFsuJ-rVZM //nach der str_replace-Methode.

    Das "=" muss zum "/" umgewandelt werden. Funktioniert aber leider nicht.

    Any ideas?

    Kommentar

    • Toflar
      Contao-Urgestein
      • 15.06.2009
      • 4476

      #3
      Wieso denn nicht einfach
      PHP-Code:
      str_replace('watch?v=', 'v/', $video); 
      
      ?
      Contao Core-Entwickler @terminal42 gmbh
      Wir sind Contao Premium-Partner!
      Für Individuallösungen kannst du uns gerne kontaktieren.
      PS: Heute schon getrakked?

      Kommentar

      • niqo
        Contao-Nutzer
        • 29.10.2010
        • 17

        #4
        Danke für die Info.

        Leider zeigt diese Variante keine Veränderung des Links.
        Auch wenn dein Vorschlag natürlich mehr Sinn macht.
        Kann mir das nicht erklären.

        Nunja. Ich teste mal weiter.

        Kommentar

        • madi
          Contao-Nutzer
          • 29.10.2009
          • 89

          #5
          Speicher doch einfach statt der ganzen URL nur die Video-ID.
          (die bisherigen Einträge kannste ja kürzen, um die reine ID zu bekommen)
          Zuletzt geändert von madi; 17.11.2010, 19:04.

          Kommentar

          • niqo
            Contao-Nutzer
            • 29.10.2010
            • 17

            #6
            Ja. Merci für die Antwort.
            So habe ich es jetzt auch gelöst.

            Kommentar

            Lädt...