Smarty Template Engine 34.díl - Nastavení I.

Napsal (») 25. 8. 2009 v kategorii PHP/HTML, přečteno: 1427×
obrazky/smarty.gif

Smarty Template Engine 34. díl – Nastavení I.

Tak jako v posledních dílech, ukážeme si jakým způsobem ovlivnit chování Smarty Template Engine pomocí tzv. Smarty Class Variables. Ty se vždy zadávají v php souboru, nejlépe v hlavičkovém souboru a to ve tvaru.

$smarty->variable = hodnota;


template_dir
Defaultně je tato složka nastavena na hodnotu: './templates', přičemž se vychází z exekutivního umístění skriptu.
Tato základní proměnná nastavuje umístění šablon/templates. Stejně tak se z této složky automaticky načítají includované soubory. Nedoporučuje se nastavovat tuto složku do složek s oprávněním root.

hlavicka.php
$smarty->template_dir = './templates';


compile_dir
Defaultně je nastaveno na: 'templates_c', přičemž se vychází z exekutivního umístění skriptu.
Proměnná nastavuje umístění složky pro zkompilované šablony. Důležité je této složce povolit práva pro zapis, tedy alespoň na hodnoty 775.
Složka musí být nastavena nejlépe realitvně a nedoporučuje se nastavovat tuto složku do root dokumentů.

hlavicka.php
$smarty->compile_dir = 'templates_c';

config_dir
Defaultně je nastaveno na: './configs', přičemž se vychází z umístění exekutivního skriptu.
Tato proměnná nastavuje umístění konfiguračních souborů uživatele. Nedoporučuje se nastavovat tuto složku do root dokumentů.

hlavicka.php
$smarty->config_dir = './configs';

plugins_dir
Defaultně je nastaveno na: './plugins', přičemž se vychází z umístění knihoven Smarty, tedy z umístění knihovny: 'Smart.class.php', defaultně: './smarty/'.
Pokud tedy zadáme relativní cestu k složce, bude Smarty automaticky vyhledávat ve složce smarty. V případě, že složku nenalezne, přesune oblast hledání do umístění exekutivního skriptu.
V této složce by se měli nacházet všechny funkce a uživatelské funkce, jež můžeme ve Smarty Template Engine využívat (popsali jsme si již v dřívějších dílech).
Toto nastavení umožňuje zadat i více umístění, jako „array“ == pole umístění. Smarty pak bude vyhledávat určité funkce ve všech složkách, ovšem v pořadí, jak jsou složky zadány v proměnné!!!

V následujícím příkladě si ukážeme přiřazení umístění do pole.

hlavicka.php
<?php

$smarty->plugins_dir = array(
                       './plugins', 
                       '../meknihovny/',
                       './new/plugins'
                       );

?>


debugging
Aktivuje debuggovací konzoli, respektive zobrazí javascriptové okno, které Vás informuje o základních nastaveních Vámi zobrazované šablony. Jmenovitě jde především o informace o includovaných šablonách, dále o proměnnách, přiřazených z aplikační do prezenční logiky. Nezobrazí však proměnné, vytvořené přímo v šabloně pomocí funkce „{assign}“.

hlavicka.php
$smarty->debugging = false;

debug_tpl
Nastavuje řetězcem jméno šablony, do které má být vypsána debugovací konzole. Defaultně je tato proměnná nastavena na 'debug.tpl' a hledá jí v umístění 'SMARTY_DIR', tedy v umístění základních tříd Smarty, především: 'Smarty.class.php'.

hlavicka.php
$smarty->debug_tpl = 'debug.tpl';

debugging_ctrl
Tato proměnná umožňuje alternativním způsobem povolit zobrazení debugovací konzole. Do nastavení proměnné se vlastně zadává podmínka zobrazení stránky tak, aby se konzole mohla zobrazit. Tedy jaké musí být URL / název šablony proto, aby se konzole zobrazila. To vše v případě, že proměnná '$debugging' je nastavena na false, v opačném případě bude vždy ignorována.

V následujícím příkladě si ukážeme jak zobrazit konzoli v případě, že se jako stránka zobrazí localhost.

hlavicka.php
<?php
$smarty->debugging = false; 
$smarty->debugging_ctrl = ($_SERVER['SERVER_NAME'] == 'localhost') ? 'URL' : 'NONE';
?>


autoloaded_filters
O filtrech jsme sice ještě nemluvili, přesto si ukážeme tuto proměnnou, jež se používá v případě, že bychom chtěli nahrat libovolný filtr při každém volání šablony. Specifikuje, že má být filtr volán automaticky nahrán a použit. Zadává se jako asociativní pole.

Následující příklad ukazuje jak naplnit proměnnou.

hlavicka.php
<?php
$smarty->autoload_filters = array('pre' => array('trim', 'stamp'),
                                  'output' => array('convert'));
?>
Facebook Twitter Topčlánky.cz Linkuj.cz

Komentáře

Zobrazit: standardní | od aktivních | poslední příspěvky | všechno
Článek ještě nebyl okomentován.


Nový komentář

Téma:
Jméno:
Notif. e-mail *:
Komentář:
  [b] [obr]
Odpovězte prosím číslicemi: Součet čísel deset a pět