我刚开始使用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'}
所以我不确定我这样做是否正确。感谢你能给我的任何答案。
答案 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.php
或footer.php
也许您应该使用更好的变量名称,例如header_title
而不是title
,以防止覆盖。