这是在多个页面中使用smarty的最有效方法吗?:
if(empty($_GET[page])) {
$template="home.tpl";
$smarty->assign('pagename', ' - Home');
}else {
$page = $_GET["page"];
switch ($page) {
case "home":
$template="home.tpl";
$smarty->assign('pagename', ' - Home');
break;
case "contact":
$template="contact.tpl";
$smarty->assign('pagename', ' - Contact us');
break;
case "verify":
$template="verify.tpl";
$smarty->assign('pagename', ' - Verify your account');
break;
default:
$template="404.tpl";
break;
}
}
$smarty->assign('sitename', $sitename);
$smarty->display($template);
Run Code Online (Sandbox Code Playgroud)
如果我有"登录"和"用户区"以及所有内容怎么办?我怎样才能使他们各自干净利落?
是的,
也许您可以将 $page 变量更新为以下内容:
<?php
$page = isset($_GET['page']) ? $_GET['page'] : '';
?>
Run Code Online (Sandbox Code Playgroud)
但是使用前端控制器更改页面的方式是好方法。您可以进行一些升级...我的工作流程;
就像是:
$content = "";
$page = isset($_GET['page']) ? $_GET['page'] : '';
// FRONTCONTROLLER
switch ($page) {
case 'stack':
require_once('includes/stack.php');
$content = getContent();
break;
case 'overflow':
require_once('includes/overflow.php');
$content = "overflow....";
break;
default:
$content = "blalala";
break;
}
$smarty->assign('page', $page);
$smarty->assign('content', $content);
$smarty->display('index.htm');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2037 次 |
| 最近记录: |