27.09.14, 10:25
0 комментарий
  DLE Хаки

Использование тегов declination

Использование тегов [declination=X][/declination] во всех .tpl файлах шаблона и незначительное изменение в работе тегов DLE 10.1 - 10.x

Этот хак позволяет использовать теги [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
Версия DLE: 10.1 - 10.xшаблоны для dle 11.2

Напишите своё мнение