Smarty php .tpl - 调用函数

时间:2018-04-03 15:27:42

标签: php joomla smarty

我有一些聪明的PHP代码:

在我的sample.tpl文件中:

{require_once(test.php)}
{php}
echo test();
{/php}

并在我的test.php文件中:

<?php
function test(){
  return "hi";
}
?>

由于某种原因,这会破坏整个模板并且不起作用。另请注意,{php} echo "hi" {/php}工作正常。

最终,我只需要运行附加到按钮的代码。如果有一个简单的方法可以在smarty中做到这一点(例如if语句或其他内容),请告诉我。

2 个答案:

答案 0 :(得分:1)

您通常不需要在Smarty中使用DateTimeFormatterrequire,调用者脚本(加载模板)范围内可用的函数也应该在模板中可用。

答案 1 :(得分:0)

Smarty中没有require_once() 您可能需要将其移动到PHP块:

{php}
require_once("test.php");
echo test();
{/php}

或者,如果您使用的是Smarty V3,安全设置可能会限制使用功能和{php}块:https://www.smarty.net/docsv2/en/variable.security.tpl