admin.tpl
的主要結構另存為 templates/op_create.tpl
<h3>管理界面</h3>
<div class="row">
<div class="col-md-9">
<!-- 編輯表單 -->
{include file="admin_create.tpl"}
</div>
<div class="col-md-3">
<!-- 側邊欄 -->
{include file="index_side.tpl"}
</div>
</div>
admin.tpl
看起來像這樣,和 index.tpl
幾乎一模一樣,只差 web_title
不同而已:
<!doctype html>
<html lang="en">
{include file="index_head.tpl" web_title="校園日誌管理"}
<body>
<header>
<!-- 導覽列 -->
{include file="index_nav.tpl"}
</header>
<main>
<div class="container">
{include file="op_{$op}.tpl"}
</div>
</main>
<footer>
<!-- Bootstrap JavaScript Libraries -->
<script src="/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<script>
Fancybox.bind("[data-fancybox]");
</script>
</footer>
</body>
</html>
admin.php
改套用 index.tpl
,只要多設一個 $web_title
變數,並送至樣板即可。
<?php
require_once 'header.php';
// 變數過濾
$op = isset($_REQUEST['op']) ? htmlspecialchars($_REQUEST['op']) : 'create';
switch ($op) {
case 'store':
$id = store();
//執行後轉向
header("location: index.php?op=show&id=$id");
exit;
default:
$op = 'create';
break;
}
$smarty->assign('op', $op);
$smarty->assign('categories', $categories);
$smarty->assign('year_count', year_count());
$smarty->assign('web_title', '校園日誌管理界面');
$smarty->display('index.tpl');
index.php
也一樣多設一個 $web_title
變數,並送至樣板即可。
$smarty->assign('op', $op);
$smarty->assign('categories', $categories);
$smarty->assign('year_count', year_count());
$smarty->assign('web_title', '校園日誌');
$smarty->display('index.tpl');
index.tpl
本身則不再需要設定 $web_title
變數,admin.tpl
也可以刪除了。
<!doctype html>
<html lang="en">
{include file="index_head.tpl"}
<body>
<header>
<!-- 導覽列 -->
{include file="index_nav.tpl"}
</header>
<main>
<div class="container">
{include file="op_{$op}.tpl"}
</div>
</main>
<footer>
<!-- Bootstrap JavaScript Libraries -->
<script src="/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<script>
Fancybox.bind("[data-fancybox]");
</script>
</footer>
</body>
</html>