Smarty 模板文件 (.tpl) 未加载 PHP 代码
Smarty template file (.tpl) is not loading PHP code
我有一个 smarty 模板文件,我想包含来自 php 文件的代码。它根本行不通。这是模板文件夹中的 sfunc.php:
function BeautySweet (){
echo 'Script works fine.';
}
?>
现在这是我添加的 .tpl 文件代码:
{include_php 'templates/sfunc.php';}
{ BeautySweet ();}
我也试过:
{include_php 'sfunc.php';}
{ BeautySweet ();}
仍然没有运气。
是
{include_php file="templates/sfunc.php"}
而不是
{include_php 'templates/sfunc.php';}
(假设路径templates/sfunc.php正确)
smarty 3+ 中对 php 的使用已被删除,并且有充分的理由,模板不应包含 php 代码。您可以使用 SmartyBC 来实现旧模板的向后兼容性,但如果您正在创建一个新项目,那将是一个非常糟糕的主意,因为您将来可能会遇到问题。创建插件或在 php 文件中执行所需的操作,并将结果作为变量传递。
我有一个 smarty 模板文件,我想包含来自 php 文件的代码。它根本行不通。这是模板文件夹中的 sfunc.php:
function BeautySweet (){
echo 'Script works fine.';
}
?>
现在这是我添加的 .tpl 文件代码:
{include_php 'templates/sfunc.php';}
{ BeautySweet ();}
我也试过:
{include_php 'sfunc.php';}
{ BeautySweet ();}
仍然没有运气。
是
{include_php file="templates/sfunc.php"}
而不是
{include_php 'templates/sfunc.php';}
(假设路径templates/sfunc.php正确)
smarty 3+ 中对 php 的使用已被删除,并且有充分的理由,模板不应包含 php 代码。您可以使用 SmartyBC 来实现旧模板的向后兼容性,但如果您正在创建一个新项目,那将是一个非常糟糕的主意,因为您将来可能会遇到问题。创建插件或在 php 文件中执行所需的操作,并将结果作为变量传递。