
Использовать теги [declination=X] [/declination] во всех шаблонах дле позволит вам данный хук, чтобы добавить функциональные тегам [declination=X][/declination] во всех .tpl файлах шаблона. Этот маленький хак для DLE с малым изменением в работе тегов для версии 10.1 - 10.x и т.д.
Хуки для DLE, как этот, позволяют раскрыть полный функционал вашего ресурса, использовать теги [declination=X][/declination] во всех .tpl файлах шаблонах с внесением незначительных изменений, добавить удобство в работу тегов и т.д..
Установка:
Открыть index.php в корне сайта и найти:
echo $tpl->result['main'];
Выше вставить:
$tpl->result['main'] = preg_replace_callback ( "#\[declination=(d+)\](.+?)\[/declination\]#is", "declination", $tpl->result['main'] );
Открыть файл engine/modules/functions.php и найти:
return $matches[1]." ".$word;
Заменить на:
return $word;
Готово.
Теперь расскажу об изменение работы этих тегов.
Если использовать такую конструкцию:
У вас [declination={new-pm}]сообщен|ие|ия|ий[/declination]
То результат на странице будет выглядеть вот так:
У вас 10 сообщений
Этот хак убирает число и пробел между словом, оставляя только склоненное слово, создавая потребность писать числовой тег дополнительно. Тем самым позволяет использовать более сложные конструкции такого вида:
У вас {new-pm} [declination={new-pm}]нов|ое|ых|ых[/declination] [declination={new-pm}]сообщен|ие|ия|ий[/declination]
Результат на странице будет выглядеть вот так:
У вас 10 новых сообщений
Кто не понял, без доработки - это выглядело бы так:
У вас 10 10 новых 10 сообщений
Надеюсь пригодится в ваших проектах ;)
Спасибо за внимание!
Автор: vir2oz
Скачать хаки для DataLife Engine по использованию тегов [declination=X] [/declination] во всех шаблонах дле по следующей ссылке