如何将 PhpFox 变量与 substr 一起使用?当我在 a 中使用变量时,{php} {/php}
它给了我未定义的变量:
例子:
我有变量:{$aFeed.feed_image_onclick}
现在我想在我的模板文件中 substr 这个变量:
{php} substr($aFeed.feed_image_onclick, 1, 3);{/php}
但是甚至可以在 {php} 标记中使用类生成的变量吗?
谢谢!
如何将 PhpFox 变量与 substr 一起使用?当我在 a 中使用变量时,{php} {/php}
它给了我未定义的变量:
例子:
我有变量:{$aFeed.feed_image_onclick}
现在我想在我的模板文件中 substr 这个变量:
{php} substr($aFeed.feed_image_onclick, 1, 3);{/php}
但是甚至可以在 {php} 标记中使用类生成的变量吗?
谢谢!
是的你可以。变量被称为
$this->_aVars['your_variable']
但是如果你在一个循环中,那么你必须这样做
{foreach from=$aPage key=i item=page}
{php} echo $this->_aVars['page']; {/php}
{/foreach}
要回答您的问题,您必须这样做:
<span class="values">{php} echo substr($this->_aVars['aFeed']['feed_image_onclick'],1,3); {/php}</span>
PS 只是我的 2 美分:如果有可能这样做,开发人员会使用它——不管它是否“hacky”。
尝试这个
{$aFeed.feed_image_onclick|substr:1:3}
在Phpfox
模板中,before|
是函数的第一个参数,after|
是函数的名称,如果您想将多个参数传递给函数,那么只需:
在函数或参数之后添加并添加参数,就像我在这段代码中添加的一样。此代码将结果打印到模板。
避免使用 {php}{/php} 块,这是做事的 hacky 方式。相反,在您的 php 控制器 (/module/my_module/include/component/controller/my_controller.class.php) 中进行所有处理,包括子字符串、对服务函数的调用等。然后分配给模板变量:
$this->template()->assign(array('some_var' => $my_thing));
当您在模板中使用 {php} 块时,您正在编写稍后将编译的内容,您可以使用类变量,但这样做的方式很糟糕(查看其中一个缓存文件,您会发现所有使用的变量)