如何使用带有substr的PhpFox变量?当我在{php} {/php}
中使用变量时,它给出了未定义的变量:
示例:
我有变量:{$aFeed.feed_image_onclick}
现在我想在我的模板文件中包含这个变量:
{php} substr($aFeed.feed_image_onclick, 1, 3);{/php}
但是甚至可以在{php}标签中使用类生成的变量吗?
谢谢!
答案 0 :(得分:0)
避免使用{php} {/ php}块,这是做事的hacky方式。 相反,在php控制器中执行所有处理(/module/my_module/include/component/controller/my_controller.class.php),包括子串,调用服务函数,等等。然后分配给模板变量:
$this->template()->assign(array('some_var' => $my_thing));
当您在模板中使用{php}块时,您正在编写稍后将编译的内容,您可以使用类变量,但这是一种糟糕的方式(查看其中一个缓存文件,您将会找到所有使用的变量)
答案 1 :(得分:0)
是的,你可以。该变量称为
$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”。
答案 2 :(得分:0)
试试这个
{$aFeed.feed_image_onclick|substr:1:3}
在Phpfox
模板之前|
是函数的第一个参数,如果要将多个参数传递给函数,|
之后是函数的名称,则只需添加{ {1}}在函数或参数之后添加像我在此代码中添加的参数。此代码将结果打印到模板。