Home Navigationspfeil Besondere Features Navigationspfeil Vorlagen in 1.6

Änderung bei den Vorlagen in CMBasic 1.6

Hier mache ich Sie auf die Änderungen aufmerksam, die es ab CMBasic 1.6 bei den Vorlagen gibt. Durch diese Neuerung ist es möglich, einfacher zwischen Templates umzuschalten und auch für Unterseiten ganz problemlos per Variable eine abweichende Gestaltung vorzunehmen.

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;
?>
© CMBasic.de