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 文件中执行所需的操作,并将结果作为变量传递。