[smarty模板的作用]smarty模板包含调用其他模板文件

更新时间:2018-05-12    来源:smarty模板    手机版     字体:

【www.bbyears.com--smarty模板】

Smarty 模版包含文件的语法格式如下所示: {include file=$filename variable=$value …} 其中,$filename 是要包含的文件的文件名,variable 和value 是用于替换被包含文件中关键字的变量设定。

一、简单的包含文件的例子,其中test.htm 是模版文件,inc.html 是被包含的一个静态HTML模板文件。

 代码如下

$smarty = new Smarty;
$smarty->display("test.html");$smarty = new Smarty;
$smarty->display("test.html");test.html文件的HTML 代码如下所示:




Inc File


{include file="inc.html"}



Inc File


{include file="inc.html"}

运行就可以看到,被包含的文件内容被显示出来了。

当然这个文件名也可以用变量来代替,比如像下面这样

 代码如下


$smarty = new Smarty;
$inc_name = "inc.html";
$smarty->assign("inc_name",$inc_name); //替换变量
$smarty->display("test.html");$smarty = new Smarty;
$inc_name = "inc.html";
$smarty->assign("inc_name",$inc_name); //替换变量
$smarty->display("test.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模版文件如下所示:

 

 代码如下

Inc File


{include file=$inc_name inca=$inca}



Inc File


{include file=$inc_name inca=$inca}

inc.html被包含文件代码:


{$inca}{$inca}运行之后,你可以看到被包含文件的变量也被替换了,非常方便。

本文来源:http://www.bbyears.com/jiaocheng/41328.html