Ergebnis 1 bis 1 von 1

Thema: OG Images mit Wasserzeichen in Abhängig von Content-Elementen

  1. #1
    Contao-Nutzer Avatar von marq
    Registriert seit
    20.03.2010.
    Ort
    Göttingen
    Beiträge
    195
    User beschenken
    Wunschliste

    Standard OG Images mit Wasserzeichen in Abhängig von Content-Elementen

    Servus,

    da die Tage jetzt deutlich kürzer werden, habe ich mir gedacht, dass es durchaus nützlich sein könnte (clickbaiting auf sozialen Netzwerken), wenn innerhalb einer Nachricht ein OG-Image mit Wasserzeichen in Abhängigkeit zu den Inhaltselementen eingebunden wird.

    Aufgabe: Eine Nachricht enthält eine Bildergalerie, also soll z.B. für Facebook anhand des OG-Tags ein kombiniertes OG-Image aus »singleSRC« und »olverlay_gallery.png« erzeugt werden.

    Ich bin bisher zu folgendem Lösungsansatz gekommen (funktioniert sogar). Mir ist auch klar, dass ich den Part noch in eine Helper-Klasse bzw. Model auslagern werde.

    Frage: Ich bin mir absolut unsicher ob es wirklich so einfach ist - bzw. ob man die Aufgabe so lösen sollte. Es kommt mir aufgrund der Einfachheit einfach falsch vor.

    PHP-Code:
    <?php
    if($this->singleSRC):
        
        
    $width 1200;
        
    $height 630;

        if(
    strpos($this->text"gallery"):

        
    $overlay="./assets/news_overlay/overlay_gallery.png";

        function 
    watermark_ogimage($target$wtrmrk_file$newcopy) {
          
    $watermark imagecreatefrompng($wtrmrk_file);
          
    imagealphablending($watermarkfalse);
          
    imagesavealpha($watermarktrue);
          
    $img imagecreatefromjpeg($target);
          
    $img_w imagesx($img);
          
    $img_h imagesy($img);
          
    $wtrmrk_w imagesx($watermark);
          
    $wtrmrk_h imagesy($watermark);
          
    $dst_x = ($img_w 2) - ($wtrmrk_w 2);
          
    $dst_y = ($img_h 2) - ($wtrmrk_h 2);
          
    imagecopy($img$watermark$dst_x$dst_y00$wtrmrk_w$wtrmrk_h);
          
    imagejpeg($img$newcopy100);
          
    imagedestroy($img);
          
    imagedestroy($watermark);
        }

        
    watermark_ogimage($this->urlEncode($this->singleSRC),$overlay$this->getImage($this->urlEncode($this->singleSRC), $width$height 'crop'));

        endif;

        
    $ogimage $this->getImage($this->urlEncode($this->singleSRC), $width$height 'crop');

        
    $GLOBALS['TL_HEAD'][] = '<meta property="og:url" content="' . \Environment::get('url') . '/' . \Environment::get('request') . '" />';
        
    $GLOBALS['TL_HEAD'][] = '<meta property="og:image" content="' . \Environment::get('base') . $ogimage '" />';
        
    $GLOBALS['TL_HEAD'][] = '<meta property="og:image:width" content="' $width '" />';
        
    $GLOBALS['TL_HEAD'][] = '<meta property="og:image:height" content="' $height '" />';
            
        endif;

    ?>
    Geändert von marq (02.11.2019 um 12:27 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •