Autor Zpráva
Honza Hučín
Profil
Zde pokračuje téma http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=9&topic=44 21
Nové téma bylo založeno kvůli útoku spamovacích robotů a staré zamčeno.
VaclavMacurek
Profil
Vytvoření vlastního šablonovacího systému? Velmi zajímavý nápad, ale pouze pro experty.

Já s šablonováním teprve začínám a skončil jsem u TemplatePower.

Možná má méně možností než Smarty, ale je rozhodně jednodušší na "instalaci" - zkrátka si stáhnete nejnovější stabilní verzi a všechny soubory (není jich moc - asi pět) nahrajete do nějakého podadresáře, z nějž budete volat soubor class.TemplatePower.inc.php.

Tím vše končí - no a pak ještě napsat vlastní šablony a upravit PHP kód pro použití těch šablon. K tomu může napomoci manuál a příklady, které si lze též stáhnout z těch samých stránek.
Sicario
Profil *
Uz to tu urcite nekolikrat padlo. PHP lze take pouzit jako jazyk pro sablony. Zpracovani php sablony pak bude mit na starosti treba takovato funkce.


function template(&$tvars, $viw){
if (!file_exists($viw)) die('102_missing_template_file');
extract($tvars);
ob_start();
include $viw;
$c = ob_get_contents();
ob_end_clean();
return $c;
}


Ma to samozrejme svoje vyhody i nevyhody. Jako jednu z nevyhod vidim, ze sablony musi pred jejich ostrym uvedenim do provozu zkontrolovat programator systemu.
Klinki
Profil *
Template power vypada dobre je tam neco jako if ?
napriklad:

<!-- IF {prihlasen} -->
<ul>
<li>Vase zpravy</li>
<li>Nastaveni</li>
<li>Odhlasit se</li>
</ul>
<!-- ENDIF -->
<!-- ELSE -->
<ul>
<li>Prihlaseni</li>
<li>Registrace</li>
</ul>
<!-- END ELSE -->

Jinak ja na oddeleni aplikacni logiky od prezentacni (proste PHP od HTML) pouzivam fce.
Napriklad:


function formular()
{
global $data;
?>
<form method="post" action="registrovat">
<input type="text" value=<?=$data["jmeno"];?> name="jmeno">
</form>
<?
}


To menu by u me vypadalo asi takhle
if (uzivatel_prihlasen())
menu_prihlasen();
else
menu_neprihlasen();
a ty fce menu by byly ve stylu ty ukazkovy fce formular
Toto téma je uzamčeno. Odpověď nelze zaslat.