Php tpl-调用函数
我有一些smarty php代码: 在my sample.tpl文件中:Php tpl-调用函数,php,joomla,smarty,Php,Joomla,Smarty,我有一些smarty php代码: 在my sample.tpl文件中: {require_once(test.php)} {php} echo test(); {/php} 在我的test.php文件中: <?php function test(){ return "hi"; } ?> 由于某些原因,这会破坏整个模板,并且不起作用。还要注意,{php}echo“hi”{/php}工作正常 最终,我只需要运行附加到按钮的代码。如果smarty中有一种简单的方法(例如If语
{require_once(test.php)}
{php}
echo test();
{/php}
在我的test.php文件中:
<?php
function test(){
return "hi";
}
?>
由于某些原因,这会破坏整个模板,并且不起作用。还要注意,{php}echo“hi”{/php}
工作正常
最终,我只需要运行附加到按钮的代码。如果smarty中有一种简单的方法(例如If语句或其他),请告诉我 Smarty中没有
require\u once()
。您可能需要将其移动到PHP块:
{php}
require_once("test.php");
echo test();
{/php}
或者,如果您使用的是Smarty V3,那么函数和
{php}
块的使用可能会受到安全设置的限制:您通常不需要在Smarty内部使用require
或require\u once
,这是一个在调用方脚本(加载模板)范围内可用的函数也应该在模板中提供…我正在尝试将其包含在模板本身中。我注意到我不能在{php}{/php}标记中定义函数。有解决办法吗?我只需要一个简单的按钮来执行几行代码。如果你需要HTML中的一个按钮来执行一些操作,你可能需要使用Javascript,或者如果你真的需要请求服务器(PHP),你需要使用Ajax,一个PHP函数通常用来组织你的PHP代码。我所有的类(db模型等)都在PHP中。问题是在smarty tpl文件中,我无法编写处理表单提交所需的php代码。我需要知道如何在smarty中声明函数。好的,但是,处理表单提交被认为是“逻辑代码”,因此不应该将其放入smarty模板中。正如我所说,如果你真的需要调用一个定制的PHP函数,你可以在调用脚本中定义它,并在Smarty模板中使用它。它甚至阻止我执行{php}函数测试(){return“hi”}echo测试();{/php}
我需要找到一种方法在那里定义一个函数,然后使用它。@JayShri这不起作用,因为你缺少一个在返回语句后添加code>。