smarty高级部分包括缓存机制和配置文件的调用
下面是代码实现:
文件一,配置文件:
#全局变量
title="网站主页"
content="一个网站的主体部分" #在news中
[news]
title="新闻页面"
content="新闻内容" #在forum中
[news]
title="论坛页面"
content="论坛内容"
文件二,php文件:
<?php
require("Smarty.class.php");
$smarty = new Smarty();
$smarty -> template_dir = "./templates"; //模板存放目录
$smarty -> compile_dir = "./templates_c"; //编译目录
$smarty -> cache_dir = "./cache"; //缓存目录
$smarty -> config_dir = "./configs"; //缓存目录 $smarty -> caching = 1;//打开缓存功能
$smarty -> cache_lifetime = 300;//缓存的时间 $smarty -> display('caching_conf.tpl'); ?>
文件三,模板文件:
{config_load file="smarty.conf"}
<html>
<head>
<title>{#title#}</title>
</head>
<body> {#content#} </body>
</html>
这样,title和content的地方就被换成“网站主页”和“一个网站的主体部分”。
如果{config_load file="smarty.conf" section="news"},
section表示读取哪部分的局部变量以供目前模板使用。
以上红色部分加载的是news部分的局部变量,title和content被换成新闻页面和新闻内容。