Metadaten

Zum Abschluss des yaml_layout_inc Templates werden noch, falls vorhanden, die Meta-Angaben “keywords” und “description” ermittelt.

Meta-Angaben ermöglichen es den Quelltext einer (X)HTML-Seite mit weiteren nützlichen Informationen für Browser oder aber auch Suchmaschinen zu versehen.

  1. // Meta-Angaben des Startartikels auslesen
  2. $startArticle = OOArticle::getArticleById($REX['START_ARTICLE_ID'], $REX['CUR_CLANG']);
  3. $startArticleKeywords = $startArticle->getValue("_keywords");
  4. $startArticleDescription = $startArticle->getDescription();
  5.  
  6. // Wenn aktueller Artikel Meta-Angaben hat, diese übernehmen,
  7. // ansonsten die des Startartikels eintragen
  8. if($this->getValue("description") != "")
  9. {
  10.   $metaDescription = htmlentities($this->getValue("description"),ENT_QUOTES, 'UTF-8');
  11. }
  12. else
  13. {
  14.   $metaDescription = htmlentities($startArticleDescription,ENT_QUOTES, 'UTF-8');
  15. }
  16.  
  17. if($this->getValue("keywords")!= "")
  18. {
  19.   $metaKeywords = htmlentities($this->getValue("keywords"),ENT_QUOTES, 'UTF-8');
  20. }
  21. else
  22. {
  23.   $metaKeywords = htmlentities($startArticleKeywords,ENT_QUOTES, 'UTF-8');
  24. }

Zunächst werden “keywords” und “description” des jeweiligen Startartikels der aktuellen Kategorie ermittelt.

Sollte der aktuelle Artikel nicht der Startartikel einer Kategorie sein und keine eigenen Meta-Angaben aufweisen, so werden dann, falls vorhanden, die Meta-Angaben des Startartikels der aktuellen Kategorie übernommen.

Weitere Meta-Angaben, die seit redaxo 4.x über Meta-Infos im Backend aufgenommen werden, könnten hier auf die gleiche Weise eingebunden werden.