Location: PHPKode > projects > php CMS > phpcms/parser/doc/doc_de/projektdatei.htm
{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>&#36;home/template/home.tag</S></Z>
<Z><S></S>	<S>TEMPLATE</S>			<S>:=</S>	<S>&#36;home/template/home.tpl</S></Z>
<Z><S></S>	<S>MENU</S>				<S>:=</S>	<S>&#36;home/template/home.mnu</S></Z>
<Z><S></S>	<S>MENUTEMPLATE</S>		<S>:=</S>	<S>&#36;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 &#36;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 &#36;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>
Return current item: php CMS