переменная substr PhpFox

Как я могу использовать переменную PhpFox с substr? Когда я использую переменную в {php} {/php}, она дает мне неопределенную переменную:

Пример:

У меня есть переменная: {$aFeed.feed_image_onclick}

Теперь я хочу добавить эту переменную в свой файл шаблона:

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

Но возможно ли использовать сгенерированную классом переменную в теге {php}?

Спасибо!


person user3435924    schedule 19.03.2014    source источник


Ответы (3)


Избегайте использования блоков {php}{/php}, это хакерский способ. Вместо этого выполняйте всю обработку в своем php-контроллере (/module/my_module/include/component/controller/my_controller.class.php), включая подстроки, вызовы сервисных функций и т. д. Затем присвойте переменной шаблона:

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

Когда вы используете блоки {php} в шаблоне, который вы кодируете в чем-то, что будет скомпилировано позже, вы можете использовать переменные класса, но это ужасный способ сделать это (посмотрите на один из кэшированных файлов, и вы найдете все используемые переменные)

person Purefan    schedule 19.03.2014

Да, ты можешь. Переменная называется

$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 цента: Если есть возможность сделать так, то разработчики ею воспользуются, вне зависимости от того, "халявно" это или нет.

person KIC    schedule 01.04.2014

Попробуй это

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

В шаблоне Phpfox перед | это первый параметр функции, а после | это имя функции, если вы хотите передать более одного параметра в функцию, просто добавьте : после функции или параметра и добавьте параметр, как я добавил в этом коде . Этот код печатает результат в шаблон.

person keshu_vats    schedule 04.04.2014