NAVIGATION
This is an old revision of the document!
translate
: title
: meta description
: meta keywords
Relationships between the various settings in page layout, page structure and article.
There are several ways to change the browser title (browser title) and the meta-description (description).
Der am häufigsten vorkommende Fall wird die einmalige Vergabe des Browser-Titels in ADMIN → Seitenlayout unter “Seitentitel” sein. Im Feld darunter “Titel hinzufügen” wird eingestellt was im Browser-Titel wie ausgegeben werden soll.
Die “meta description” werden meistens direkt unter Vorlagen in den <head>-Bereich geschrieben. Die hier eingetragenen Informationen erscheinen nun auf jeder Seite.
Ausgabe im Browser:
<meta name="keywords" content="Schlüsselwörter aus Vorlage in head, Wort01, Wort02" /> <meta name="description" content="Description aus Vorlage in head" />
Der title-Tag kann hier nicht angegeben werden, siehe folgender Abschnitt.
In ADMIN → Seitenstruktur → Kategorie Haben wir die Möglichkeit in die Felder “Seitentitel” und “Beschreibung der Seitenebene” Einträge für den Browser-Titel und die “meta descriptions” vorzunehmen.
Diese Einträge haben nur Gültigkeit, wenn die Artikel im Listenmodus arbeiten, also mehr als ein Artikel in der Kategorie vorhanden ist und die “Anzahl an Top-Artikel” entsprechend gesetzt ist.
Diese Einträge würden die bisher vorgegebenen überschreiben, wenn der User im FE in der Artikelübersicht steht.
Artikelzentrale:
<note> Die meta description aus der Kategorie überschreibt eine vielleicht vorhandene meta description in der Vorlage. </note>
Ergebnis im Browser:
Zu jedem Artikel können gezielte Informationen zum “Browser-Titel”, den “meta descriptions” und den den “meta keywords” hinterlegt werden.
In ARTIKEL → Artikel bearbeiten → Artikelinformation [EDIT] → Artikel Basisinformation
kann in den Feldern “Seitentitel:” der “Browser-Titel” in “Beschreibung:” die “meta description” und im Feld Schlüsselwört. die “meta keywords” eingetragen werden.
Diese Informationen übersteuern alle anderen Einträge die vorher gemacht wurden, solange der Artikel in der Detailansicht arbeitet.
Der Modus Artikeldetailansicht wird angesprochen wenn,
Sind mehrere Artikel in dieser Kategorie (Listenmodus) vorhanden weiß das System nicht von welchem Artikel die Infos verwendet werden sollen, in diesem Fall greifen die Einträge aus der Kategorie oder wenn nicht vorhanden der Eintrag aus Seitenlayout für den “Browser-Titel”.
<note> Die meta description aus dem Artikel überschreibt nicht eine vielleicht vorhandene meta description in der Vorlage. </note>
Die Einträge in Schlüsselwörter haben zwei Funktionen:
<note>Zu 1. Die Einträge aus “Schlüsselwörter” werden nur ausgegeben wenn in der Vorlage kein “meta tag keywords” verwendet wird.!!! </note>
Im Artikellistenmodus werden die unterschiedlichen Keywords aller Artikel der Kategorie zusammengefasst.
Bei “more…” oder “mehr…” (Detailansicht) werden die Keywords des angesprochnen Artikels ausgeliefert.
Im einfachen Artikelmodus:
<meta name="description" content="meta description aus Artikel" /> <meta name="keywords" content="Artikel, Cat03, Wort01, Wort02" />
Im Artikellistenmodus:
Mit Keywords aus Artikel Cat03-1: “Artikel, Cat03-1, Wort03, Wort04”
<meta name="description" content="meta description aus Kategorie" /> <meta name="keywords" content="Artikel, Cat03, Wort01, Wort02, Cat03-1, Wort03, Wort04" />
translate
Problem: In der Vorlage stehen in “title”, “meta description” und “meta keywords” Daten, die für bestimmte Seiten (Kategorien) geändert werden müssten.
Bisher war das lediglich durch eine andere Vorlage/Seitenlayout oder durch Einträge im Artikelkopf möglich oder eben “Artikel im Listenmodus” (siehe oben).
Die Idee bei diesem Script besteht darin, dass die Inhalte von “title”, “meta description” und “meta keywords” einfach aus den vorhandenen Feldern der Kategorie genommen und eingesetzt werden.
Ist ein Kategoriefeld mit Werten gefüllt, werden diese übernommen, wenn nicht, bleiben die Werte aus der Vorlage aktiv. Dieses Script überschreibt also vorhandene Werte die in der Vorlage stehen.
Damit das auch funktioniert müssen die Einträge für description und keywords in der Vorlage sauber aufgebaut sein was die Leerzeichen für die Notation im Bezeichner betrifft.
Falsch:
<meta name= "description" content=xyz"/>
Richtig:
<meta name="description" content=xyz" />
Datei: template/inc_script/frontend_init/cat_entries_into_head.php
<?php // ---------------------------------------------------------------------------------------------- // obligate check for phpwcms constants if (!defined('PHPWCMS_ROOT')) {die("You Cannot Access This Script Directly, Have a Nice Day."); } // ---------------------------------------------------------------------------------------------- /* ********************************************************************* * TITLE aus Kategorie aus dem Feld "Seitentitel:" uebernehmen, wenn * 1. max. Artikelanz. < 0 * 2. Feld "Seitentitel:" nicht leer * * 14.11.2011 KH: heermann@planmatrix.de * *******************************************************************/ if ( ($content["struct"][$content["cat_id"]]['acat_topcount'] < 0) AND (!empty($content["struct"][$content["cat_id"]]['acat_pagetitle'])) ) { $content['pagetitle'] = $content["struct"][$content["cat_id"]]['acat_pagetitle']; } /* ********************************************************************* * DESCRIPTION aus Kategorie aus dem Feld Beschreibung: uebernehmen, * wenn das Feld "Beschreibung der Seitenebene:" nicht leer ist * Vorhandener TAG "description" in <head> wird ueberschrieben * * 16.11.2011 KH: heermann@planmatrix.de * *******************************************************************/ if (!empty($content["struct"][$content["cat_id"]]['acat_info'])) { // is there any content in field categorie description if (stripos($block["htmlhead"], '<meta name="description"')) { // is the meta tag description st in head preg_match('/\<meta name="description" content=(.+?)\/\>/im', $block["htmlhead"], $match); if ( isset($match['1']) AND !empty($match['1']) ) // if match found, replace $block["htmlhead"] = str_ireplace('<meta name="description" content='.$match['1'], '<meta name="description" content="'.$content["struct"][$content["cat_id"]]['acat_info'].'" ', $block["htmlhead"]); } else // is the meta tag description is not set in head, generate a new one set_meta('description', $content["struct"][$content["cat_id"]]['acat_info']); } /* ********************************************************************* * KEYWORDS aus Kategorie aus dem Feld "Schluesselwoert.:" uebernehmen, * wenn das Feld "Schluesselwoert.:" nicht leer ist * Vorhandener TAG "keywords" in <head> wird ueberschrieben * Max. 255 Zeichen ohne CMS-Patch * * 16.11.2011 KH: heermann@planmatrix.de * *******************************************************************/ if ( !empty($content["struct"][$content["cat_id"]]['acat_keywords']) ) { // is there any content in field categorie keywords if (stripos($block["htmlhead"], '<meta name="keywords"')) { // is the meta tag keywords set in head preg_match('/\<meta name="keywords" content=(.+?)\/\>/im', $block["htmlhead"], $match); if ( isset($match['1']) AND !empty($match['1']) ) // if match found, replace $block["htmlhead"] = str_ireplace('<meta name="keywords" content='.$match['1'], '<meta name="keywords" content="'.$content["struct"][$content["cat_id"]]['acat_keywords'].'" ', $block["htmlhead"]); } else // is the meta tag keywords is not set in head, generate a new one set_meta('keywords', $content["struct"][$content["cat_id"]]['acat_keywords']); } // ******************************************************************* ?>
— Knut Heermann (flip-flop) 2010/05/04 16:12
— Knut Heermann (flip-flop) 2010/05/04 16:12