Änderung bei den Vorlagen in CMBasic 1.6
Die gute Nachricht: CMBasic bleibt abwärtskompatibel. Sie können ganz problemlos Ihre alten Template-Varianten weiterverwenden. Mehr noch: Sie können die neue Variante auch in ältere Versionen von CMBasic einbauen! Das neue Schema ist also nur ein Angebot, mehr nicht.
Aufbau der index.php
Die Datei index.php aus dem Stammordner sieht ab sofort folgendermaßen aus. Sie enthält praktisch nur noch einen Link zu einer technischen PHP-Datei namens contentmaker.inc.php und zur eigentlichen Template-Datei index.php. Diese liegt im Template- bzw. CSS-Ordner unter css/. Den CSS-Ordner legen Sie in der edit/config.inc.php fest.
Die entsprechende Zeile lautet $cssfolder = "NameDesOrdners"
.
<?php
// CMBasic v. 1.6.0, (c) Joh.-Christian Hanke, www.cmbasic.de, Lizenz: GNU/GPL
error_reporting(0); // Beim Testen 0 durch 'E_ALL' ersetzen!
include_once 'contentmaker.inc.php';
require_once "css/$cssfolder/index.php";
?>
Der Vorteil: Sie benötigen unterschiedliche Templates? Legen Sie diese in unterschiedlich benannten CSS-Ordnern ab, beispielsweise in template1, template2 usw. Arbeiten Sie dann mit Skripten, um den Wert der Variablen $cssfolder
individuell anzupassen.
Individuelles Template für Unterseite
Verwenden Sie die Datei scripts/content/scriptmuster.inc.php
, benennen Sie sie wie die zu verändernde Seite. Wenn die Seite kontakt heißt, sollte diese Datei kontakt.inc.php heißen.
Notieren Sie dort zusätzlich die Zeile
$cssfolder = 'NameDesOrdners'
.
Eigentliche Template-Datei im Template-Ordner
Die eigentliche index.php liegt ab sofort im Templateordner. Sie ersetzt die index.php.tpl. Es fehlen folgende zwei Zeilen, sonst bleibt vom Aufbau her alles beim Alten.
error_reporting(0); // Beim Testen 0 durch 'E_ALL' ersetzen!
include_once 'contentmaker.inc.php';
Und hier die eigentliche Template-Datei.
<?php
defined('CMBASIC') or die();
echo <<<TEMPLATE_CMBASIC
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>{$title}</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
{$meta}
<link rel="stylesheet" type="text/css" href="css/{$cssfolder/cmbasic_print.css" media="print" />
<link rel="stylesheet" type="text/css" href="css/{$cssfolder}/cmbasic.css" media="screen" />
{$head}
</head>
<body>
<a name="top"></a>
<div id="mother">
<!-- Container logo, enthält search -->
<div id="logo">
<!-- Container search -->
<div id="search"><form action="." method="get">
<label for="searchfield">Suchen:</label>
<input type="text" size="15" name="search" id="searchfield" />
<input type="submit" value="Los!" />
</form></div><h1>CMBasic 1.6<br />Content managen leicht gemacht</h1>
</div>
<!-- Menücontainer navi -->
<div id="navi">
{$menu}{$rssicon}
{$felog}
</div>
<!-- Hauptcontainer content -->
<div id="content">{$topmenu}
{$path}
{$content}</div>
<!-- Container footer -->
<div id="footer"><div>powered by <a href="http://www.cmbasic.de">CMBasic</a>.</div></div>
</div>
</body>
</html>
TEMPLATE_CMBASIC;
?>