skip to content
rift-valley-foundation.org

Seiteninhalt im Template oder anderen Seiten einbinden

Ein Problem stellt sich öfter: man möchte in allen Seiten einen bestimmten Inhalt z.B. links am Rand oder rechts. Nun kann man in WebsiteBaker entweder im Template einen Content Block definieren und diesen auf allen Seiten füllen oder man baut den Inhalt fest ins Template ein. Im ersten Fall muss man auf jeder Seite redundant den selben Inhalt einpflegen, im zweiten Fall ist der Inhalt nich durch das Template einfach zu pflegen und zu aktualisieren.

Eine Alternative: eine einzige Seite ganz normal im CMS anzulegen mit Template "Blank", also ohne jegliche Inhalte ausser dem Content. Dann diese Seite durch PHP-Code in andere Seiten oder im Template einbinden. Somit taucht der Inhalt überall auf, muss aber nur einmal gepflegt werden.

Und so geht's:

Im Template:

<?php
$get_content = $database->query("SELECT content FROM ".TABLE_PREFIX."mod_wysiwyg WHERE page_id = XXX");
$fetch_content = $get_content->fetchRow();
$content = stripslashes($fetch_content['content']);
echo $content;
?>

In anderen CMS-Seiten:

Abschnitt vom Typ "Code" einbauen und folgenden Inhalt eingeben:

$get_content = $database->query("SELECT content FROM ".TABLE_PREFIX."mod_wysiwyg WHERE page_id = XXX");
$fetch_content = $get_content->fetchRow();
$content = stripslashes($fetch_content['content']);
echo $content;

Achtung: XXX durch die ID der einzubindenden Seite ersetzen.

Die ID findet man heraus, wenn man eine Seite editiert. Oben in der Adresszeile des Browsers wird die Seiten ID angezeigt (hier 90):

http://www.meineseite.de/admin/pages/modify.php?page_id=90