Smarty 模版包含文件的语法格式如下所示: {include file=$filename variable=$value …} 其中,$filename 是要包含的文件的文件名,variable 和value 是用于替换被包含文件中关键字的变量设定。
一、简单的包含文件的例子,其中test.htm 是模版文件,inc.html 是被包含的一个静态HTML模板文件。
代码如下 | 复制代码 |
$smarty = new Smarty;
{include file="inc.html"} {include file="inc.html"} |
运行就可以看到,被包含的文件内容被显示出来了。
当然这个文件名也可以用变量来代替,比如像下面这样
代码如下 | 复制代码 |
|
二、如果被包含的文件是模版,则需要使用调用该模版文件的模版来指定其中的变量。将前面的inc.htm改写如下:
代码如下 | 复制代码 |
$smarty = new Smarty; $inc_name = "inc.html"; $inca = "我是被包含文件里面的变量"; $smarty->assign("inc_name",$inc_name); //替换变量 $smarty->assign("inca",$inca); //替换被包含文件里面的变量 $smarty->display('test.html');$smarty = new Smarty; $inc_name = "inc.html"; $inca = "我是被包含文件里面的变量"; $smarty->assign("inc_name",$inc_name); //替换变量 $smarty->assign("inca",$inca); //替换被包含文件里面的变量 $smarty->display('test.html'); |
test.html模版文件如下所示:
代码如下 | 复制代码 |
{include file=$inc_name inca=$inca} {include file=$inc_name inca=$inca} |
inc.html被包含文件代码:
{$inca}{$inca}运行之后,你可以看到被包含文件的变量也被替换了,非常方便。