在当前的网站上,我试图执行一个来自变量的函数。
我目前的代码段:
<textarea rows="10" name="{$field.name}" class="form-control">{$field.placeholder}</textarea>
那么,占位符变量内部是什么?
{$plugin->getMessage()}
我textarea的内容目前正在使用此设置:
{$plugin->getMessage()}
但目标是,smarty执行该函数并使用从函数返回的CONTENT。所以我试图使用一些过滤器。
首先我使用了"ldelim"
和"rdelim"
{ldelim}{$field.placeholder}{rdelim}
我的浏览器中的响应是(textarea中的值):
{{$plugin->getMessage()}}
我也尝试使用"literal"
{literal}{$field.placeholder}{/literal}
我的浏览器中的响应(textarea中的值):
{$field.placeholder}
但是我应该使用什么来获得我的函数"$plugin->getMessage()"
的响应?
编辑:
对于同样存在问题的其他人:使用{eval var=$foo}
答案 0 :(得分:1)
我认为你可能会对聪明的工作方式感到困惑。似乎你只是将一个字符串“{$ plugin-&gt; getMessage()}”分配给变量$ field.placeholder,并期望,不知何故,smarty将评估它。但它没有,所以这就是它显示字符串的原因。
要使其工作,您应该在php脚本中将该函数的结果分配给变量