Темплейтные хуки стали менее мощными?

Что, теперь невозможно присваивать и переприсваивать внутри темплейтных хуков темплейтные переменные?

Ну, скажем, конструкция

$this->AddHook('template_hook', 'Hook', __CLASS__);

с последующим объявлением 

function Hook()
{
    $this->Viewer_Assign('sTemp','текст');
}


при вызове из темплейта


{assign var='sTemp' value='ерунда'}
{hook run='hook'}
Это {$sTemp}.


Выводит «Это ерунда.», хотя хотелось бы чтобы было «Это текст.»

В 0.4.2 это все работало. Или я где-то сильно туплю?

9 комментариев

avatar
фетчить шаблон и возвращать его в хуке кто будет?
avatar
Это ты путаешь теплое с мягким. Одно дело вернуть результат и другое — изменить или установить темплейтные переменные.
avatar
область видимости
avatar
Суть в том, в 0.4.2 это все работало на ура и приносило определенную пользу. Если в 1.0 это невозможно повторить — грустно…
avatar
function Hook()
{
    return 'текст';
}

{hook run='hook' assign='sTemp'}
avatar
Это понятно, но не то, что нужно. Пример был дан для… примера. Нужно именно присваивать значение новым и переназначать уже существующие переменные…
avatar
Нужно именно присваивать значение новым и переназначать уже существующие переменные…

Я очень хорошо тебя понял.
assign='sTemp' — результат функции хака будет записан в эту переменную
avatar
Да нет же… Может я хочу десяток новых переменных засунуть в шаблон и переназначить еще десяток уже установленных…
avatar
assign должна содержать имя переменной, в которую будет записан результат.
Функция хака должен возвращать строку или число.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.