Въпрос за Smarty

kulov

Registered
Здравейте, наскоро почнах да използвам Smarty и стигнах до един "проблем".

Значи въпроса ми е как да реализирам смяната на страниците в сайта, т.е за всяка страница ще има различен .tpl файл в който ще са инклуднати хедър, футър и повтарящите се елементи за всяка страница, но идеята е, че тези страници няма да са примерно:

index.php
signup.php

ами всичко ще се управлява от index.php, т.е

index.php?goTo=signup

в момента в index.php се извиква index.tpl въпроса е, че когато signup се извика като страница, на какъв принцип да реализирам и промяната на файла index.tpl примерно да стане signup.tpl ..

единствено ми идва switch и case в главата, но ми се струва, че не това е решението.. нядавам се да сте ме разбрали, благодаря !
 
index.php?goTo=signup
първо правиш проверка дали файла съществува
if(file_exists($filename)){
// ако съществува

$smarty->display($_GET['goTo'].".tpl");
}else {
// ако не същесвува зареждаш някакав темп;
$smarty->display('index.tpl');
}
 
няма нужда от код, реализацията не е проблем.. въпроса е в начина.. и все още си мисля, че не това е правилният начин.. странно :D
 
Това е, какво друго искаш?

PHP:
switch($param)
{
case "login":
$tpl_file = "login.tpl";
break;
}

$smarty->display($tpl_file);
 
Еми направи си нужните проверки, и показвай точно каквото ти трябва, не всичко. В индекса си зареждай някаква променлива, със страницата която трябва, и в смартито (в темплейта) си я извикай (страницата/темплейта).
Не че има голяма разлика, но така кода е по-оптимизиран, т.е. ако решиш да променяш нещо, което съществува на всичките ти страници, ще е по-добре да го редактираш на едно място, отколкото във всички темплейти.
 

Back
Горе