PDA

Просмотр полной версии : [Hack] Использование тегов [declination=X][/declination]



Desulaid
15.03.2015, 16:45
http://prowebber.ru/uploads/posts/2014-10/1412594538_1411334609_1409682704_post.png

Этот хак позволяет использовать теги во всех .tpl файлах шаблона и вносит незначительное, но удобное изменение в работу этих тегов.
Автор: vir2oz

Открыть index.php в корне сайта и найти:

echo $tpl->result['main'];

Выше вставить:

$tpl->result['main'] = preg_replace_callback ( "#\\(.+?)\\[/declination\\]#is", "declination", $tpl->result['main'] );

Открыть файл engine/modules/functions.php и найти:

return $matches[1]." ".$word;

Заменить на:

return $word;

Готово.

Теперь расскажу об изменение работы этих тегов.
Если использовать такую конструкцию:

У вас [declination={new-pm}]сообщен|ие|ия|ий

То результат на странице будет выглядеть вот так:

У вас 10 сообщений

Этот хак убирает число и пробел между словом, оставляя только склоненное слово, создавая потребность писать числовой тег дополнительно. Тем самым позволяет использовать более сложные конструкции такого вида:

У вас {new-pm} нов|ое|ых|ых сообщен|ие|ия|ий

Результат на странице будет выглядеть вот так:

У вас 10 новых сообщений

Кто не понял, без доработки - это выглядело бы так:

У вас 10 10 новых 10 сообщений

Надеюсь пригодится в ваших проектах ;)
Спасибо за внимание!