Ergebnis 1 bis 6 von 6

Thema: OpenGraph und MM

  1. #1
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.042

    Standard OpenGraph und MM

    hallo in die runde,

    ich habe eine frage zur herangehensweise. wie würdet ihr das technisch lösen:

    im metamodel sind bilder, texte, beschreibungen vorhanden. also jener inhalt,
    der auch für die og:title, og:image-header interessant ist.

    ich würde jetzt eine kleine erweiterung schreiben, in dem ich die texte und bilder
    der jeweiligen ansicht abfange und diese global in den tl_head schreibe…

    würdet ihr genauso herangehen? denke ich zu kompliziert?

    danke für eine kurze antwort.

    alex

  2. #2
    Contao-Nutzer Avatar von timbec
    Registriert seit
    22.09.2009.
    Ort
    Aachen
    Beiträge
    150
    Partner-ID
    7828
    User beschenken
    Wunschliste

    Standard

    Hallo haendersonfox,

    du kannst das auch ohne Erweiterung direkt in deinem (custom) metamodels template für die entsprechende detail / Listenansicht unterbringen.

    Wenn Du technisch versiert genug bist, könnte ich mir aber auch gut einen pull-request für den metamodel/TNG vorstellen.

    Viele Grüße
    Tim

  3. #3
    Alter Contao-Hase Avatar von haendersonfox
    Registriert seit
    22.05.2012.
    Beiträge
    1.042

    Standard

    via template haette ich die tags aber im body-bereich, oder kann ich den head dort ebenfalls definieren? wie würde das mit dem pull-request funktionieren?


    Gesendet von iPad mit Tapatalk V 3.1.0

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.290
    Partner-ID
    10107

    Standard

    Via Templates gehe ich zB so vor:

    Im eigenen fe_page Template füge ich im <head> folgendes hinzu:
    PHP-Code:
      <meta property="og:type" content="website">
      <meta property="og:title" content="<?php echo $this->pageTitle?>">
      <meta property="og:site_name" content="<?php echo $this->mainTitle?>">
      <meta property="og:url" content="<?php echo $this->base $this->Environment->request?>">
      <meta property="og:description" content="<?php echo $this->description?>">
      <?php if ($GLOBALS['og:image']): ?><meta property="og:image" content="<?php echo $GLOBALS['og:image'?>" /><?php endif ;?>
    Das heißt, og:title, og:site_name, og:url & og:description werden über das Template bereits automatisch befüllt. Das og:image property wird nur gesetzt, wenn etwas im $GLOBALS Array an der stellt 'og:image' gesetzt wurde - und das könntest du bspw. wiederum in deinem entsprechenden MM Template eintragen.

    Um die Contao News als Beispiel zu nehmen: in meinem news_full Template füge ich folgendes ein:
    PHP-Code:
    <?php
    $ogimage 
    $this->getImage$this->urlEncode$this->singleSRC ), 600600 'center_center' );
    $GLOBALS['og:image'] = $this->Environment->base $ogimage;
    ?>
    Das erzeugt aus dem Teaser Bild ein eigenes OpenGraph Bild, welches dann letztendlich über den og:image Tag ausgegeben wird.

    Ähnlich kannst du ja auch bei MM vorgehen. Aber evt. musst du bspw. die description auch selbst in deinem MM Template befüllen, etwa mit
    PHP-Code:
    <?php
    global $objPage;
    $objPage->description /* dein MM description attribut */;
    ?>
    oder so ähnlich. Setzt MetaModels in der Detailansicht eigentlich auch den pageTitle entsprechend?

  5. #5
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Contao hat ein $GLOBALS['TL_HEAD'] Array. Meines Wissens wird es ganz am Ende gerendert. D.h., wenn man im MetaModel-Template folgendes macht, wird dies automatisch im Template der fe_page hinzugefügt:

    PHP-Code:
    $GLOBALS['TL_HEAD']['ogtitle'] = '<meta property="og:title" content="MM Title"> '

  6. #6
    Contao-Nutzer
    Registriert seit
    27.03.2013.
    Beiträge
    161

    Standard

    Hi,
    ich habe es bei mir so im Detailtemplate stehen:

    Code:
    $GLOBALS['TL_HEAD'][] = '<meta property="og:title" content="Rezept - '.$facebooktitle.'" />';
    Grüße Michael

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
  •