我需要在php文件中显示一些外部数据到.tpl文件。为此,我想将php文件包含到.tpl文件中。我试过以下代码来显示php文件内容到tpl。
{php} include('custom_code.php'); {/php}
但页面输出为include('custom_code.php');
答案 0 :(得分:4)
{php}
已被弃用。看看Extending Smarty With Plugins。
将以下内容放入…/plugins/function.yourplugin.php
:
<?php
function smarty_function_yourplugin(array $params, Smarty_Template_Instance) {
include 'your_other_file.php';
}
并在您的模板中使用:
{yourplugin}
答案 1 :(得分:1)
智能主页上有最佳实践指南。 #1是不要嵌入PHP!
http://www.smarty.net/best_practices
试试这个:{include_php file="/path/to/somefile.php"}
但请注意:
{include_php} is deprecated from Smarty, use registered plugins
to properly insulate presentation from the application code.
As of Smarty 3.1 the {include_php} tags are only available
from SmartyBC.
所以最好的方法是编写一个聪明的插件,如rodneyrehm所解释的
答案 2 :(得分:1)
您不应该将PHP代码添加到模板中。它会让模板的整个想法变坏。
您必须将PHP代码添加到控制器,而不是模板。