1

如何将 PhpFox 变量与 substr 一起使用?当我在 a 中使用变量时,{php} {/php}它给了我未定义的变量:

例子:

我有变量:{$aFeed.feed_image_onclick}

现在我想在我的模板文件中 substr 这个变量:

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

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

谢谢!

4

3 回答 3

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”。

于 2014-04-01T11:56:49.827 回答
0

尝试这个

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

Phpfox模板中,before|是函数的第一个参数,after|是函数的名称,如果您想将多个参数传递给函数,那么只需:在函数或参数之后添加并添加参数,就像我在这段代码中添加的一样。此代码将结果打印到模板。

于 2014-04-04T10:41:14.743 回答
0

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

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

当您在模板中使用 {php} 块时,您正在编写稍后将编译的内容,您可以使用类变量,但这样做的方式很糟糕(查看其中一个缓存文件,您会发现所有使用的变量)

于 2014-03-19T10:07:22.193 回答