Hallo student,
wenn es dir darum geht, dass der Redakteur die Metadaten beim Seite bearbeiten eingeben kann, also nicht über die Seitenkonfiguration gehen muss, gibt es eine recht einfache Lösung:
du setzt einen Container in den head-Bereich unter den Layout-Tag (wenn du den Sefrengo CSS Editor verwendest, solltest du den Container über den Layout-Tag setzen)
QUELLTEXT
<cms:lay type="head"/>
<cms:lay type="container" id="999" title="999 Metadaten"/>
Dann legst du ein neues Modul an mit folgender Frontendausgabe:
QUELLTEXT
<meta name="description" content="<cms:mod type = "textarea" id = "1" title = "Meta-Description" menuoptions="false" /> "/>
<meta name="keywords" content="<cms:mod type = "text" id = "1" title = "Meta-Keywords" menuoptions="false" /> "/>
<cms:mod type="typegroup" elements="textarea[1],text[1]" title="Metadaten" menuoptions="advanced" />
Jetzt nur noch im Template den Container 999 mit dem neuen Modul bestücken.
Der Redakteur sieht jetzt bei Seite bearbeiten oben links in der Ecke den Stift "Metadaten bearbeiten". Im Quelltext sieht es so aus:
QUELLTEXT
<!--START head//-->
<meta name="generator" content="Sefrengo / www.sefrengo.org" />
<base href="http://www.xxx.de/" />
<meta name="author" content="CMS Sefrengo" />
<meta name="robots" content="index, follow" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<!--END head//-->
<!--START 999//--><meta name="keywords" content="key1, key2"/>
<meta name="description" content="metabeschreibung"/>
<!--END 999//-->
Wenn dich die Kommentare stören kannst du diese unter Administration/Projekt konfigurieren/Ausgabe manipulieren mit
QUELLTEXT
$output = preg_replace("/<!--(START 999|END 999)\/\/-->/","",$output);
echo $output;
ausblenden.
Das Ganze funktioniert auch mit ContentFlex, ist aber etwas aufwendiger:
Container in head-Bereich setzen, da kommt das Modul
includeContent rein. In deinem ContentFlex Modul legst du ein neues Template mit folgendem Inhalt an:
QUELLTEXT
{if_backend}META Beschreibung = {textarea:1}<br/>
META Keywords = {text:1} {/if_backend}
Die Eingaben werden dann nur im Backend angezeigt. In dein includeContent gibst du die ContainerID des Contentflex Moduls und die SeitenID an. Ins Modultemplate kommt:
QUELLTEXT
<meta name="keywords" content="{text:1:1}"/>
<meta name="description" content="{textarea:1:1}"/>
Die Metaangaben werden genauso angezeigt, wie im oberen Beispiel.
Gruss,
Andreas