Autor Zpráva
maks
Profil
Ahoj,

možná se zeptám blbě, ale nějak mi nejde do hlavy, jak udělat se Smarty model takový, že budu mít jednu šablonu (main.html), kde budou statické části (hlavička, patička, ...) a do té budu vkládat další šablony, které se od sebe budou lišit rozvržením sloupců a tak dále. Jde vložit šablonu do šablony (napadl mě include, nevím, jestli je to tak správně)? Nebo je lépe do každé šablony includovat header a footer?

Druhá věc ohledně šablon, jak říci, že když bude adresa /login.php, má se použít šablona login.html, že když bude URL /registration.php, má se použít registration.html, a tak dále? Samozřejmě znám $smarty->display('template.html'), ale to se mi nezdá vhodné. Resp. jak to řešíte vy, když může být řádově desítky šablon u většího portálu? Celý systém jakžtakž chápu, jen nevím, jak uspořádat toto, aby to bylo co nejpřehlednější. Vytvořit soubor, kde bude pole URL => template? Nebo podle parametru v URL volit šablonu? To mě napadlo teď, nejpřijde mi to jako nejhorší nápad přes parametr v URL.


Děkuji za rady a názory :-)
AM_
Profil
1) dá se to dělat obojím způsobem - hlavní šablona a v ní include podstránky (já to dělám většinou takhle), ale klidně i šablona pro každou stránku zvlášť a do ní vkládat záhlaví a zápatí, nedá se říct, že by něco z toho bylo špatně
2) co třeba $smarty->display($page.'.html'); ? úplně stejně jako když v PHP sestavuješ dynamickou stránku bez smarty.
maks
Profil
AM:
2) co třeba $smarty->display($page.'.html'); ? úplně stejně jako když v PHP sestavuješ dynamickou stránku bez smarty.
takže z URL, kde budu mít mimojiné parametr template, není úplně špatně? Jak bude vypadat URL, je jedno, bude to v administrační části webu. Původně jsem myslel mít pole $_GET['pg']=>'template', ale to bych při každé nové stránce do toho musel zasahovat. Asi to udělám takhle teda.

Díky.
AM_
Profil
špatně to rozhodně není, normálně se to tak dělá, jen je to dobré nějak zabezpečit, aby bylo možné vložit jen žádoucí soubory (např. ve vstupu povolit pomocí preg_replace jen písmenka a odkazovat na [nazev].html v určité složce.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0