【问题标题】:Smarty template file (.tpl) is not loading PHP codeSmarty 模板文件 (.tpl) 未加载 PHP 代码
【发布时间】:2016-06-16 15:49:12
【问题描述】:

我有一个 smarty 模板文件,我想包含一个 php 文件中的代码。它根本行不通。这是模板文件夹中的 sfunc.php:

function BeautySweet (){
    echo 'Script works fine.';
}
?>

下面是我添加的 .tpl 文件代码:

{include_php 'templates/sfunc.php';}
{ BeautySweet ();}

我也试过了:

{include_php 'sfunc.php';}
{ BeautySweet ();}

还是没有运气。

【问题讨论】:

  • 你用的是什么Smarty版本?
  • 我正在使用 Smarty 3.1.28

标签: php templates smarty


【解决方案1】:

它的

{include_php file="templates/sfunc.php"}

而不是

{include_php 'templates/sfunc.php';}

(假设路径templates/sfunc.php是正确的)

【讨论】:

  • 好的,可以,但是有错误Fatal error: Uncaught --> Smarty: {include_php} is deprecated, use SmartyBC class to enable
  • 我尝试深入研究 smarty 文档,但我找不到让它工作的方法。
【解决方案2】:

smarty 3+ 中 php 的使用已被删除,并且有充分的理由,模板不应包含 php 代码。您可以使用SmartyBC 来向后兼容旧模板,但是如果您正在创建一个新项目,那是一个非常糟糕的主意,因为您将来可能会遇到问题。在您的 php 文件中创建一个插件或执行所需的操作,然后将结果作为变量传递。

【讨论】:

    猜你喜欢
    • 2011-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多