Datei config.conf in Smarty lesen

Lesen Sie mit der Template Engine Smarty die Konfigurationsdatei config/config.conf und werten individuelle Variablen für die Steuerung des Templates aus.

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

Artikel