Ticket #96 (closed улучшение: fixed)
Улучшение механизма хуков
| Reported by: | GeNtlE <viskubov@…> | Owned by: | ort |
|---|---|---|---|
| Priority: | нормальный | Component: | ядро |
| Version: | 0.4 | Keywords: | |
| Cc: |
Description
Сделать поддержку открывающего и закрывающего тегов {hook}{/hook} дабы не заменять в плагине весь шаблон.
Пример: есть в настройках профиля вывод полей профиля с возможностью редактирования. В конце списка запускаются хуки. И можно только дописать своё. Поменять существующую структуру не получится. Допустим, есть задача на место полей ввода Страны и Города поставить три комбобокса со страной, регионом и городом. Решения нет, кроме как подменять весь шаблон.
Если бы синтаксис позволял сделать такое:
{hook run='profile_regions'}
<p>
<label for="profile_country">{$aLang.settings_profile_country}:</label><br /><input type="text" class="w300" id="profile_country" name="profile_country" value="{$oUserCurrent->getProfileCountry()|escape:'html'}"/><br />
<label for="profile_city">{$aLang.settings_profile_city}:</label><br /><input type="text" class="w300" id="profile_city" name="profile_city" value="{$oUserCurrent->getProfileCity()|escape:'html'}"/><br />
</p>
{/hook}
то если установлен хук, появляется возможность заменить то, что в тегах, либо вызвать его до открывающего или после закрывающего тегов.
Ещё пример — отображение на всех страницах сайта реальных имени и фамилии автора вместо ника.
http://www.smarty.net/manual/ru/api.register.block.php — по-моему, оно.
