Über Joomla, Strukturierte Daten im Override ausgeben

  • Hallo zusammen,

    ich versuche über ein Override, für Suchmaschinen Strukturierte Daten mit JSON LD festzulegen.

    Dafür müsste ich mehrere Artikel Daten auslesen.

    • datePublished = Veröffentlichung starten
    • dateModified = Bearbeitungsdatum
    • description = Meta-Beschreibung
    • keywords = Meta-Schlüsselwörter
    • articleBody = ?

    Wo kann ich erfahren/nachlesen, wie ich die einzelnen Elemente im Override ausgeben kann.
    Bei dem Titel hat das gut funktioniert aber jetzt komme ich gerade nicht weiter.

    Kann mir jemand da weiterhelfen?

  • Frage ist, woran es eigentlich scheitert? Im Normalfall hat Joomla-Einzealartikelansicht im Artikel-Objekt alles dirn.


    Nebenbei: articleBody ist nicht mehr nötig.

    Aber zwingend nötig ein Bild, inklusive Bemaßung, selbst, wenn Besucher gar keins zu sehen bekommen. Schwachsinnige Google-Diktatur.

  • Hallo,

    danke für deine Antwort. Nach mehreren Versuchen – die alle nicht überzeugt haben,
    dachte ich, ein Script Element tut es auch.

    Einige Bereiche möchte ich über die Joomla Datenbank ausgeben, so wie den Titel.

    Nur ich habe im Moment keinen Plan wie ich – wie bei 'page_heading', die einzelnen Daten Objekte
    abfragen und ausgeben kann, gibt es dazu eine Doku oder Tutorial?

    Mit der Google-Diktatur, stimme ich dir vollends zu... besonders mit der Bildgröße, trotzdem kommt man
    kaum um eine Suchmaschinen Optimierung herum.

  • Lass dir in dem Override einfach mal die relevanten Objekte ausgeben.

    Code
    echo ' Das Artikel-Objekt versteckt sich hinter $this->item <pre>' . print_r($this->item, true) . '</pre>';exit;
    Code
    echo ' Aber auch in den Prametern findet sich vielleicht was. <pre>' . print_r($this->item->params, true) . '</pre>';exit;
  • Danke für den Code:


    Ich habe bis auf keywords, 'datePublished' und 'dateModified' die wichtigsten Angaben bekommen

    Code
    $artJSONLD = JHtml::_('date',$this->item->publish, JText::_('DATE_FORMAT_LC3'));
    
    $artJSONLD1  = JHtml::_('date',$this->item->modified, JText::_('DATE_FORMAT_LC3'));
    
    echo $artJSONLD;     //ausgabe, die ich zum Überprüfen zusätzlich ausgebe


    Wird im 'JSON LD-Script' übertragen, nur wird hier immer ein aktuelles Datum ausgegeben (auch bei der PHP Ausgabe auf der Testseite), keinen Plan was das soll oder wo der Fehler liegt.

  • Alle $article-> bei mir sind bei dir: $this->item->

    Code
    $datePublished = JHtml_('date', $article->publish_up, 'c');
    $dateCreated = JHtml_('date', $article->created, 'c');
    $dateModified = JHtml_('date', $article->modified, 'c');


    Und keywords ist wahrscheinlich $this->item->metakey (soweit ich mich erinnere).