在smarty中包含页眉和页脚文件的最佳方法

时间:2016-12-13 16:14:41

标签: php html smarty3

我刚开始使用smarty。我只是有点混淆如何将文件联合在一起。简单地说我想在其他文件中加入页眉和页脚,例如索引和帖子

所以我创建了一个header.php和header.tpl,并将下面的代码添加到header.php

$header_template = new Smarty;
$header_template->debugging = false;
$header_template->caching = false;
$header_template->setTemplateDir('./templates/');
$header_template->assign("title", $home_title);
$header_template->assign("description", $output_cities);
$header_template->display('header.tpl');

然后我在index中创建了一个index.php和index.tpl文件。 php添加下面的代码

include('header.php');
$index_template = new Smarty;
$index_template->debugging = false;
$index_template->caching = false;
$index_template->setTemplateDir('./templates/');
$index_template->assign("posts", $post);
$index_template->display('index.tpl');

但是在聪明的文档中,他们要求使用{include file=header.tpl'} 所以我不确定我这样做是否正确。感谢你能给我的任何答案。

1 个答案:

答案 0 :(得分:1)

index.php中以这种方式执行:

$index_template = new Smarty;
$index_template->debugging = false;
$index_template->caching = false;
$index_template->setTemplateDir('./templates/');
$index_template->assign("posts", $post);
$index_template->assign("title", $home_title);//from header.php
$index_template->assign("description", $output_cities);//from header.php
$index_template->display('index.tpl');

然后在index.tpl

 {include file='header.tpl'}
 index template code
 {include file='footer.tpl'}

您不需要header.phpfooter.php

也许您应该使用更好的变量名称,例如header_title而不是title,以防止覆盖。