Sie sind hier:  LinkpfeilPowerCMS LinkpfeilTutorials »Hauptemplates PCMS


Haupttemplates unter PowerCMS

Wenn jemand eine ganz normale Webseite erstellt, dann fängt er möglicherweise so an:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<title></title>
</head>
<body>
Hier stehen Inhalte
</body>
</html>

s gibt da nur zwei erhebliche Unterschiede in der Definition - PowerCMS verwendet
XHTML 1.0 Transitional und UTF-8 als Kodierung des Zeichensatzes.

Der eigentliche Unterschied eines CMS besteht darin, das die Inhalte und Daten aus dem CMS kommt, bei manuell erstellten Seiten werden sie einfach eingetippt.

So sieht ein Standardtemplate bei PowerCMS aus.

<!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" xml:lang="de" lang="de">
<head>
<title>{$title}</title>
<meta http-equiv="Content-Script-Type" content="text/javascript" />
{metadata}
{stylesheet2 }

</head>
<body>
{powermenu}

<div id="pagewrapper">
<hr class="accessibility" />
<div id="header"><br /><br />
<font color="#ffffff" face="arial,helvetica,sans-serif" size="7">{$sitename}</font>
<hr class="accessibility" />
</div>
<!-- End Header -->


<!-- Start Search-->
<div id="search">

<!-- Start PisearchForm -->
<form action="index.php?{$query_var}=suchergebnis" method="post">
<input type="text" value="Suchbegriffe ..." maxlength="255" size="25" name="pisearch" id="searching" onblur="if(this.value==\'\') this.value=\'Suchbegriffe ...\';" onfocus="if(this.value==\'Suchbegriffe ...\') this.value=\';"/><input type="hidden" name="special" value="2" /><input type="hidden" name="action" value="showresults" /><input type="hidden" name="levi" value="1" /><input type="submit" value="Suchen" id="buttonSearch" />
<input type="hidden" name="sprache" value="{$sprache}" />
</form>
<!-- End PisearchForm -->

</div>
<!-- End Search -->


<!-- Start Breadcrumbs -->
<div class="breadcrumbs">
{display template="menus/breadcrumbs.tpl"}
<hr class="accessibility" />
</div>
<!-- End Breadcrumbs -->

<!-- Start Content (Navigation and Content columns) -->
<div id="content">

<!-- Start Sidebar -->
<div id="sidebar">

<!-- Start Navigation -->
<div id="menu_vert">
<h2 class="accessibility">Navigation</h2>
{display template="menus/simple_collapse.tpl"}
</div>
<!-- End Navigation -->

<!-- Start News -->
<div id="news">
<h2>News</h2>
{modernnews detailseite="mininewsdetails"}
</div>
<!-- End News -->
</div>
<!-- End Sidebar -->
<!-- Start Content Area -->
<div id="main">
<div style="float: right;">{print showbutton=true script=true}</div>
<h2>{$title}</h2>
{content} <br />
<!-- Start relational links -->
<div class="hr"></div>
<div class="right49">
<p>{anchor anchor=\'main\' text=\'^ Top\'}</p>
</div>
<div class="left49">
<p>{display template="menus/nextprev.tpl"}</p>
<hr class="accessibility" />
</div>
</div>
<!-- End Content -->

<div id="footer">
<center>Zuletzt bearbeitet:{date time=$modified}</center>
</div>
</div>
</div>
<!-- end pagewrapper -->
</body>
</html>

Interessant sind die Teile welche in {stehen}, das sind Plugin - oder Variablentags, d.h. sie liefern Daten aus Funktionen oder in Variable abgelegte Inhalte.


Auch wenn diese Tags bereits in den Details an anderer Stelle erklärt wurden hier noch eine schnelle Zusammenfassung, was sie in dem Beispiel machen.

  • {$title} - eine Variable die den Seitentitel beinhaltet.
  • {metadata} - ein Plugin das die Metadaten liefert.
  • {stylesheet2} - ein Plugin das die mit dem Template verbundenen Stylesheets als Link liefert.
  • {powermenu} - ein Plugin das die Daten für das Menüsystem aufbereitet, deswegen muss es an einer Stelle stehen, bevor Menüteile zum Einsatz kommen.
  • {$sitename} - eine Variable die den Namen der Website enthält.
  • <form action="index.php?{$query_var}=suchergebnis" method="post"> - das ist der Start des Suchformulares, es ruft beim Abschicken die Seite suchergebnis auf, die {pisearch2}als Tag enthält.
  • {$query_var} - eine Variable die seite enthält.
  • {$sprache} - eine Variable die das Kürzel des aktuellen Sprachbereiches enthält.
  • {display template="menus/breadcrumbs.tpl"} - ein Plugin zur Anzeige (hier) des Templates menus/breadcrumbs.tpl. Das Template verwendet Daten die von Powermenu bereit gestellt wurden und zeigt die Breadcrumbs an.
  • {display template="menus/simple_collapse.tpl"} - ein Plugin zur Anzeige (hier) des Templates menus/simple_collapse.tpl. Das Template verwendet Daten die von Powermenu bereit gestellt wurden und zeigt das Menü an an.
  • {modernnews detailseite="mininewsdetails"} - ein Plugin das die aktuellen News aus ModernNews anzeigt und als Seite zur Anzeige der Details mininewsdetails definiert bekommt.
  • {print showbutton=true script=true} - ein Plugin zeigt den Drucjbutton an und löst den Druckvorgang auf Klick aus.
  • {content} - ein Plugin , sorgt für die Anzeige der angeforderten Seite.
  • {anchor anchor=\'main\' text=\'^ Top\'} - ein Hilfsplugin zur Erzeugung eins Anker-Links - der Anker selbst muss gesetzt sein.
  • {display template="menus/nextprev.tpl"} - ein Plugin zur Anzeige (hier) des Templates menus/nextprev. Das Template verwendet Daten die von Powermenu bereit gestellt wurden und zeigt die Links vorherige und nächste Seite an.
  • {date time=$modified} - ein Plugin zur formatierten Anzeige eines Datums das hier in der Variable $modified vorliegt und das Datum der letzten Bearbeitung enthält.

Alles was zwischen:

<body>
Hier stehen Inhalte
</body>
steht dient der Seitenformatierung (normal in Zusammenarbeit mit CSS) und der Inhaltsdarstellung und somit ist alles reines HTML !

Die Tags von PowerCMS liefern lediglich Inhalte und sind von der Wirkungsweise nicht schwer zu verstehen.

Da Plugins selbst Templates verwenden können muss darauf geachtet werden, das die HTML - Teile der Plugin-Templates sauber sind.
So kann dort ein </div> zuviel fatale Auswirkungen auf alles haben und man hat einen Suchaufwand.

 

Letzte Änderung auf dieser Seite am: 28.01.2008 14:58:15


Vorherige Seite: LinkpfeilMenütemplates  | Nächste Seite: LinkpfeilTPLE