Angenommen, es ist eine Vorlage:Kann ich das Smarty-Plugin zur Anzeige der Methode ausführen?
<html>
<head>
<title>{$title}</title>
</head>
<body>
{mod name='block' }
</body>
</html>
Es ist ein Plugin:
function smarty_function_mod($params, &$smarty) {
$core->smarty->assign('title', 'New title');
}
Im Hauptcode:
$smarty->assign('title', 'Заголовок');
$smarty->display('template.tpl');
So ist die Frage - wie soll ich einen neuen Wert zuweisen Für den Var-Titel aus dem Plugin wird es in der Anzeige-Methode durchgeführt? Wenn ich zuerst die Methode holen, und dann die Anzeige-Methode - alles ist in Ordnung, aber das Plugin wird zweimal ausgeführt. Gibt es eine Möglichkeit, das Plugin zu machen?
Да это я все понимаю. Собственно и вопрос, можно ли по другому это сделать? Если поместить в начало шаблона то и код вернется в начало шаблона. Предположим я вывожу новость, соответственно заголовок страницы должен измениться на заголовок новости. p.s. спалился со словом "Заголовок"))) – SirGrey
нет, так сделать нельзя - открой скомпилированный сморти шаблон и все поймешь. Переменная конкатенируется в строку в том месте, где она стоит в шаблоне. То есть это все равно что $ result = "
Понятно, спасибо за ответ. Пначит пресстраивать всю архитектуру подключения модулей ( – SirGrey