{PROJECT} ../../template/doc.de.ini
{ROBOTS}INDEX, FOLLOW
{DESCRIPTION}Welche Variablen können in der Projektdatei gesetzt werden, wozu dient diese Datei und wasmuß man damit tun?
{MENU} 00.06.02
{TITEL} Projektdatei
{CONTENT}
<B_BOX_START "Was ist eine Projektdatei und wofür wird sie verwendet?">
<p>
Die Projektdatei ist die Steuerzentrale eines neuen Seitentypes. In ihr sind
alle relevanten Pfade verzeichnet, die für das Parsen einer Content-Seite
erforderlich sind. In der ersten Version von phpCMS habe ich diese Informationen
entweder in der Content-Seite selbst, im Template oder beim Aufruf übergeben.
Daniel Werner hat mich dann darauf hingewiesen, daß eine solche Übergabe ein
Sicherheitsrisiko darstellt. Aus diesem Grund bin ich dazu übergegangen, alle
relevanten Informationen in einer eigenen Datei - der Projektdatei - abzulegen.
</p>
<p>
Projektdateien sind normale Textdateien, die mit jedem Texteditor bearbeitet
werden können. Ich habe mir angewöhnt, die Projektdateien meiner Seiten immer
auf ".ini" enden zu lassen. Ihr könnt aber natürlich beliebige Endungen für
Eure Projektdateien vergeben.
</p>
<p>
Eine Projektdatei kann z.B. so aussehen:
</p>
<p><hr /></p>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=3>
<Z><S>;</S> <S>name of the field</S> <S>:=</S> <S>value of the field</S></Z>
<Z><S></S> <S>HOME</S> <S>:=</S> <S>/homepage</S></Z>
<Z><S></S> <S>TAGS</S> <S>:=</S> <S>$home/template/home.tag</S></Z>
<Z><S></S> <S>TEMPLATE</S> <S>:=</S> <S>$home/template/home.tpl</S></Z>
<Z><S></S> <S>MENU</S> <S>:=</S> <S>$home/template/home.mnu</S></Z>
<Z><S></S> <S>MENUTEMPLATE</S> <S>:=</S> <S>$home/template/home.mtpl</S></Z>
</TABLE>
<p><hr /></p>
<p>
Steht ein Semikolon (;) am Anfang einer Zeile, wird die gesamte Zeile als
Kommentar interpretiert und vom Parser nicht beachtet. Ihr könnt beliebig viele
Kommentarzeilen einfügen.
</p>
<p>
<WICHTIG>Achtung:</WICHTIG> Innerhalb einer Inhaltszeile sind Kommentare nicht
erlaubt!
</p>
<p>
Links steht immer der Feldname, gefolgt von dem Trennzeichen ":=" und dem
eigentlichen Feldinhalt. Ihr könnt eine Projektdatei in beliebig vielen
Content-Dateien referenzieren.
</p>
<B_BOX_STOP>
<B_BOX_START "Beschreibung der derzeit verwendeten Felder">
<ul>
<li><WICHTIG>HOME</WICHTIG><br />
Gibt den Pfad zu jenem Verzeichnis an, unter dem alle Dateien liegen. Die Angabe
ist optional. Wenn Ihr HOME definiert, muß dieser Wert an erster Stelle in der
PROJEKT-Datei definiert sein! Wenn Ihr HOME nicht benutzt, müßt Ihr überall
absolute Pfadangaben verwenden. Die Einführung dieser Variablen war eine
Anregung von Thomas Richter. Danke.<br /> Emile hatte noch einen Tip, und den
habe ich dann auch gleich umgesetzt: Wenn Ihr in der Projektdatei hier die
Variable $GLOBAL_HOME, und in der GUI-Konfiguration ein Verzeichnis
eintragt, wird der Wert aus der GUI-Konfiguration genommen. Das ist hilfreich,
wenn Ihr auf zwei unterschiedlichen Servern arbeitet.</li>
<li><WICHTIG>TAGS</WICHTIG><br />
Gibt den Pfad zu jener Datei an, die die Definition der Tags enthält, die der
Parser ersetzen soll.</li>
<li><WICHTIG>TEMPLATE</WICHTIG><br />
Der Pfad zum Template, mit dem die Content-Seite geparst werden soll.</li>
<li><WICHTIG>MENU</WICHTIG><br />
Die mit diesem Pfad zu findende Datei beinhaltet die Menüdefinitionen für die
Homepage.</li>
<li><WICHTIG>MENUTEMPLATE</WICHTIG><br />
Jenes Template, mit dem das Layout der Menüs festgelegt wird.</li>
</ul>
<p>
Das sind derzeit alle Felder, die aus der Projektdatei verwendet werden. Bei
zukünftigen Versionen können neue Felder dazukommen.
</p>
<p>
<WICHTIG>Wenn Ihr $home nicht benutzt, gebt die Pfade immer absolut zum
Document-Root Eures Webservers an. Nur dann ist sichergestellt, daß der Parser
diese Dateien auch findet.</WICHTIG>
</p>
<B_BOX_STOP>