Smarty Template Engine 30.díl - Konfigurační soubory I.
Konfigurační soubory slouží ve Smarty Template Engine kodérům především v načítání a používání globálních proměnných z jednoho souboru, bez použití přiřazení (assign). Typickým příkladem je ukládání informací o verzi stránek, autorovi stránek, ale i např. Barevném rozlišení námi budované šablony. Výhoda z takového rozvržení plyne zcela jasná. Změnou na jednom jediném místě ovlivníme při použití takovýchto globálních proměnných všechny šablony.
Zápis
Při zadávání hodnot globálních-konfiguračních proměnných je dobrým zvykem používat uvozovky, ale není to pravidlem, či nutností. Možné je používat jak uvozovky, tak apostrofy.
pageTitle = "Smarty Template Engine"
pageTitle2 = 'Smarty Template Engine'
V případě, že Vaše proměnná přesahuje jeden řádek v konfiguračním souboru, uzavírá se do trojuvozovky.
dlouhyText = """Toto je ukazka textu
jez velmi presahuje
klasickou velikost a
delku. Proto pro jeh
o uvozeni pouzijeme t
rojuvozovku. Snadne?!"""
V configuračním souboru můžeme samozřejmě text libovolně poznámkovat. Doporučení je používat značku #, nebo-li hashovací značku, pro uvození poznámky. Tu ovšem psát pouze na jeden řádek.
# zakladni informace o strance patri do hlavicky
pageTitle = "Smarty Template Engine"
pageTitle2 = 'Smarty Template Engine'
Konfigurační soubor také podporuje dělení do tzv. Sekcí. Proměnné bez sekce jsou jakoby superglobální a načítají se vždy. V případě použití section můžeme použít stejné názvy proměnných. Pokud je stejně nazvaná proměnná superglobální a v sekci, přednost dostane ta v sekci. Jinak dostane přednost ta posledně načtená (tedy nejníže v souboru).
Sekce se píše do hranatých zárovek.
# zakladni informace o strance patri do hlavicky
pageTitle = "Smarty Template Engine"
pageTitle2 = 'Smarty Template Engine'
#barva pozadi, barva pisma
[Colours]
bgc = #dedede
fc = #f90
#prvky stranky
[Prvky]
paticka = “Smarty”;
Konfigurační soubor se do šablony automaticky nahrává za pomoci funkce „{config_load}“
Proměnné se dají také jednouduše schovat. O to se stará speciální uvození sekce tečkou. Hodí se např. Pokud v konfiguračním soubur využívaté data, které nechcete poskytnout samotnému kodérovi, ale sami s němi můžete v šabloně pracovat např. Pro porovnávání.
# tajne
[.Log]
host = mysql.domenena.tld
db = db_domena
user = db_domena_user
pass = password