2014-03-19 31 views
1

如何在substr中使用PhpFox变量?当我使用的变量在{php} {/php}它给我不确定的变量:substr PhpFox变量

例子:

我有变量:{$aFeed.feed_image_onclick}

现在,我想在我的模板文件SUBSTR这个变量:

{php} substr($aFeed.feed_image_onclick, 1, 3);{/php} 

但是,甚至可以在{php}标签中使用类生成的变量吗?

谢谢!

回答

0

避免使用{php} {/ php}块,这是做事的黑客方式。 相反,在你的php控制器(/module/my_module/include/component/controller/my_controller.class.php)中进行所有处理,包括子串,对服务函数的调用......等等。然后分配给一个模板变量:

$this->template()->assign(array('some_var' => $my_thing)); 

当你使用你的东西被编码,这将在后面编译模板{PHP}块,你可以使用类变量,但它这样做的一个可怕的方式(看看其中一个缓存文件,你会发现所有使用的变量)

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美分:如果有可能这样做,开发人员将使用它 - 天气它是“哈克”或不。

0

试试这个

{$aFeed.feed_image_onclick|substr:1:3} 

Phpfox模板之前|是函数的第一个参数和|后的函数名称,如果你想多个参数传递给一个函数,然后简单地后添加:函数或参数,并添加像我在此代码中添加的参数。此代码将结果打印到模板。