<< Click to Display Table of Contents >> Navigation: Erste Schritte > Templates |
Ein Template bedeutet auf Deutsch "Vorlage" bzw. "Dokumentenvorlage".
Ein Template ist im Grunde eine Quellcode Vorlage, die für das Projekt kopiert und verändert wird.
Ein Template besteht aus mehreren Template Seiten. Jede Seite kann:
•Ein Vezeichnis sein, diese Verzeichnis wird mit allen Unterverzeichnissen kopiert. Es erfolgt keine Verarbeitung.
•Eine Statische Seite oder Datei (wird nur kopiert, keine Verarbeitung)
•Eine Projekt Seite (z.B. index.php, login.php usw. also eine Seite die nur 1x im Projekt vorkommt! Jede Projekt Seite wird verarbeitet!)
•Eine Tabellen Seite (jede Datenbank Tabelle wird je 1x pro Tabelle kopiert und verarbeitet)
Natürlich kann jede Projekt Seite oder Tabellen Seite je Sprache auch noch verarbeitet werden.
Technisches zu den Templates:
Alle Templates werden "compiliert" und in den gewünschten Quellcode übersetzt. Wenn Sie jemals mit PHP smarty gearbeitet haben, werden Sie das System und die Vorgehensweise verstehen, wenn nicht, erkläre ich es Ihnen sehr genau:
Alle Templates können von Ihnen geändert werden, jede Datei liegt im Quellcode vor, dieser wird nach einer Änderung vor der Generierung immer neu compiliert.
Sehen wir uns einmal eine Template Seite an: (read.php)
<?php
require 'database.php';
$id = null;
if ( !empty($_GET['id'])) {
$id = $_REQUEST['id'];
}
if ( null==$id ) {
header("Location: table_{filename}.php");
} else {
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "SELECT * FROM {filename} where {fileprimarykey} = ?";
$q = $pdo->prepare($sql);
$q->execute(array($id));
$data = $q->fetch(PDO::FETCH_ASSOC);
Database::disconnect();
}
?>
<?php
include_once('header.php');
?>
<body>
<div class="container">
<?php
include_once('navbar.php');
makenavbar("index");
?>
<div class="jumbotron">
<h1>{filedescription}</h1>
<div class="form-horizontal" >
{for {nmaxitems}}
<div class="control-group">
<label class="control-label">{item.caption}</label>
<div class="controls">
<label class="checkbox">
<?php echo $data['{item.name}'];?>
</label>
</div>
</div>
{endfor}
<div class="form-actions">
<a class="btn" href="table_{filename}.php">Zurück</a>
</div>
</div>
</div>
</div> <!-- /container -->
<?php
include_once('footer.php');
Wir haben die Scoriet Template Variablen und die Qellcode Steuerung für Sie ROT und etwas größer gemacht.
{filename} ist der Dateiname
{fileprimarykey} ist der Primäre Schlüssel
{filedescription} ist die Datei Bezeichnung
{for {nmaxitems}} / {endfor} ist eine For / Next Schleife die alle Felder innerhalb der Datei durchgeht. nmaxitems ist die Variable für alle Datenbank Felder.
{item.name} ist innerhalb der For / While Schleife das aktuelle Datenbank Feld.
Das mag jetzt ein wenig verwirrend sein, jedoch jedes Template ist exakt genauso aufgebaut und jedes Template kann genauso geändert werden.