Можно ли запустить плагин Smarty для метода Display? - PullRequest
0 голосов
/ 03 апреля 2012

Предположим, есть шаблон:

<html>
    <head>
    <title>{$title}</title>
    </head>
    <body>
    {mod name='block' }
    </body>
</html>

Есть плагин:

function smarty_function_mod($params, &$smarty) {
$core->smarty->assign('title', 'New title'); 
} 

В основном коде:

$smarty->assign('title', 'Заголовок');
$smarty->display('template.tpl');

Итак, вопрос - как мне назначить новое значение для заголовка переменной из плагина, это выполняется в методе отображения? Если я делаю сначала метод выборки, а затем метод отображения - все в порядке, но плагин запускается дважды. Есть ли возможность сделать плагин сначала?

1 Ответ

0 голосов
/ 03 апреля 2012

Smarty template это php скрипт. Извлекать и отображать только его результаты, только извлекать результаты и выводить вывод. Чтобы выполнить выборку, затем отобразить, затем выполнить скрипт дважды - получить вернет результат с заголовком Потом дисплей выведет уже измененный заголовок и опять вызовет функцию плагина.

Вобщем надо вызывать функцию плагина до вызова fetch или display. Название будет сразу.

...