statischer Content in Contenido editierbar

Stefan Osterlitz
2007-06-24 23:43
Ich habe lange nach einer Lösung gesucht, bestimmte Contentobjekte (Logos usw.) nicht jedesmal im Artikel neu einpflegen zu müssen.

Dieses Modul lädt aus einem Artikel für statische Objekte bestimmte Elemente nach und platziert diese automatisch auf der Seite.

Dazu muss nur folgendes geschehen:

1. Legen Sie ein neues Modul des Inhalts mit dem Namen static_1 an.
Legen Sie für jedes weitere statische Element ein weiteres Modul an. Verwenden Sie nur die Variable CMS_HTMLTEXT, keine Bilder usw!

2. Erstellen Sie ein Template "statischer Content" und weisen Sie als Module das Modul static_1 zu.
Verwenden Sie als Layout Ihr normales Layout, lassen Sie nicht verwendete Slots leer.

3. Legen Sie eine Kategorie "statischer Content" an.

4. Weisen Sie der Kategorie die neu erstellte Template "statischer Content" zu.

5. Erstellen Sie in der Kategorie "statischer Content" einen Startartikel mit Ihren gewünschten Inhalten.

6. Erstellen Sie ein Modul "statischer Inhalt" mit diesen Daten:

Input:

/**
* statischer Content
* Autor Stefan Osterlitz
* Wählen Sie eine Kategorie aus, die die Inhalte enthält und geben Sie die laufende Nummer des HTML_Text-Feldes an
*/

// selected category
$selected = "CMS_VALUE[0]";

echo "

Kategorie w?hlen:

";
if($selected!="0" && $selected!=""){
echo"--- kein ---";

}else{
echo"--- kein ---";
}

// fetch all categorys
$query = "SELECT A.idcat, A.level, C.name FROM ".$cfg["tab"]["cat_tree"]." AS A, ".
$cfg["tab"]["cat"]." AS B, ".$cfg["tab"]["cat_lang"]." AS C WHERE A.idcat=B.idcat ".
"AND B.idcat=C.idcat AND C.idlang=´$lang´ AND B.idclient=´$client´ ".
"AND C.visible=1 ORDER BY A.idtree";
// execute query
$db->query($query);

// loop result and build the options
while ($db->next_record()) {

// indent spacer
$spaces = "|";

// how many levels
$levels = $db->f("level");

for ($i = 0; $i < $levels; $i ++) {
// add 2 spaces for every level
$spaces = $spaces . "--";

} // end for

$spaces .= ">";


if ($selected == $db->f("idcat")) {
// selected category
echo "f("idcat") ."">". $spaces . $db->f("name") ."";

} else {
// category
echo "f("idcat") ."">". $spaces . $db->f("name") ."";

} // end if

} // end while

echo " ";

echo "


Content ID (0 für erstes Feld)



";

Output:


7. Binden Sie dieses Modul in das Template Ihrer Website ein. Sie können mehrere Slots mit dem Modul "statischer Inhalt" füllen.

8. Unter "Konfiguration" Ihrer Kategorien wählen Sie jeweils die Kategorie des statischen Contents und geben Sie die laufende Nummer des Inhaltsfeldes ein.

9. Nun finden Sie in der Vorschau Ihrer Artikel die vorausgefüllten, zentral verwalteten Inhalte Voila!
Durchschnittliche Bewertung: 4 (1 Abstimmung)

Es ist möglich, diese FAQ zu kommentieren.