Inhalt
Config-Datei anlegen und anmelden
Damit Smarty eine individuelle config.cont Datei nutzen kann, muss der Pfad dorthin im Smarty-Objekt gesetzt werden, etwa so:
$smarty = new Smarty;
$smarty->setConfigDir('configs');
Bekanntmachen der Lage des Config-Files
Folglich liegt die Konfigurationsdatei in einem Verzeichnis configs
, ausgehend vom Wurzelverzeichnis des Servers, also in der so genannten root
. Der eigentliche Dateiname kann individuell gestaltet werden, etwa so: config.conf
oder affiliates.conf
.
Erst dann kann die Template-Engine Smarty auf eine idividuelle Konfigurationsdatei zugreifen.
Variable in der config.conf anlegen
Config-Variablen können einzeln oder als so genannte Region defniniert werden.
# globale Variablen
Vorname = 'Flopsi'
Name = 'das rasende Rennbrötchen'
# nicht globale Variablen
[Adresse]
Ort = 'Niedlichknuffeltahl'
Strasse = 'Wurzelstrasse 1'
Beispiele von Variablen
Achtung: Sonderzeichen und Bindestriche sind leider nicht in den Variablen-Namen erlaubt.
config.conf im Template lesen
Die config.conf
kann in einem Template während des renderns gelesen und deren Variablen genutzt werden. Die einfachste Variante ist diese:
{config_load 'config.conf'}
...
{#Vorname#}, {#Name#}
Lesen einer Variablen aus der config.conf im Template
Eine Region wird etwas anders gelesen, zum Beispiel so:
{config_load 'config.conf' 'Adresse'}
...
{#Ort#}
...
{#Strasse#}
...
Lesen einer Region
Natürlich verbirgt sich hinter einer solchen Region ein PHP Variablen-Array.
config.conf im Code oder Plugin lesen
Am leistungsstärksten ist der Zugriff auf die config.conf
jedoch innerhalb des Programmcodes des CMS oder eines Plugins, denn dort können leistungsstärkere PHP-Befehle für die Verarbeitung verwendet werden.
...
$this->smarty->configLoad('config.conf');
echo $this->smarty->getConfigVars('Vorname');
...
Laden einer globale Einzelvariablen
...
$this->smarty->configLoad('config.conf', 'Adresse');
echo $this->smarty->getConfigVars('Ort');
...
Laden einer Region und Ausgabe einer Variablen der Region
...
foreach($this->smarty->getConfigVars() as $value)
{
echo $value;
}
...
Iteriert über die Region 'NochMehrVariablen' und zeigt die Inhalte, da die Region 'NochMehrVariablen' zuvor geladen wurde
Die Nutzung von Konfigurationsvariablen innerhalb von Templates ist zwar sehr gut, jedoch ist die Nutzung innerhalb von Programmcode deutlich besser und leistungsfähiger. Diese Eigenschaft ist zugunsten einer höheren Sicherheit in den Templates geschuldet.
FlightCMS
2024-11-09
Beitrag,Sortieren,Datum,Titel,ASC,DESC
post
40