Страница 1 из 1

Приоритет обработки событий шаблонов.

Добавлено: 15.09.2016 18:56
KimIV
Вопрос. Есть-ли какие-то способы управления приоритетом обработки событий шаблонов?

А проблема собственно вот в чём. Пишу своё расширение, полностью скрывающее сообщение не по теме. Использую для этого события viewtopic_body_postrow_post_before и viewtopic_body_postrow_post_after шаблона viewtopic_body и столкнулся с тем, что моё расширение конфликтует с расширением Quick Reply. Конфликт возникает из-за того, что расширение Quick Reply по событию viewtopic_body_postrow_post_after вставляет закрывающий </div> и мои настройки стиля летят фанерой. Поэтому мне нужно, чтобы событие viewtopic_body_postrow_post_after моего расширения обработалось первым.

Re: Приоритет обработки событий шаблонов.

Добавлено: 15.09.2016 19:07
LavIgor
KimIV, ну нет приоритетов для событий шаблонов, увы.
Поэтому нужно искать обходные пути.

Re: Приоритет обработки событий шаблонов.

Добавлено: 15.09.2016 19:17
KimIV
LavIgor писал(а): Поэтому нужно искать обходные пути.
Дык поэтому и тему создал... я же не первый споткнулся об это бревно :D
Про обходы мысли есть, но все они требуют вмешательства в Ваше расширение, а вот этого не хотелось бы. Хотелось бы в своём так наворотить, чтобы оно с Вашим подружилось :D

Re: Приоритет обработки событий шаблонов.

Добавлено: 15.09.2016 19:50
LavIgor
KimIV, всё зависит от результата, который требуется получить.
Если речь про полное скрытие, почему бы не сделать его средствами PHP?
Если же сообщение можно будет посмотреть при нажатии на кнопку, то почему бы не задействовать JS?

Re: Приоритет обработки событий шаблонов.

Добавлено: 16.09.2016 12:11
KimIV
LavIgor, благодарю за интерес к теме и ответы!
Результат требуется такой - спойлер! Но действующий не внутри сообщения, а целиком на сообщение, которое находится между событиями viewtopic_body_postrow_post_before и viewtopic_body_postrow_post_after шаблона viewtopic_body.

В принципе то, что я уже сделал, работает нормально и именно так, как мне нужно, кроме последнего сообщения на странице по причине, указанной в первом сообщении этой темы.

Как JSом менять атрибуты я знаю и умею, а есть возможность вставить новый элемент? Например, новый <div> между двумя существующими <div> с известными названиями классов.

Re: Приоритет обработки событий шаблонов.

Добавлено: 16.09.2016 12:41
LavIgor
KimIV писал(а): а есть возможность вставить новый элемент?
Ну конечно.
JS может многое, можно при желании разметку переверстать. ;)

По поводу вставки - в jQuery есть методы append, insertAfter и другие.