Всем привет!
Сначала не стал здесь писать о новом своем решении в маркетплейсе, но Антон заинтересовался технической реализацией и я подумал что и другим будет интересно. Тем более решение мне пришло в голову не сразу.
[spoiler]
Тем кто не видел -
Задача:
Выводить между сообщениями пользователей своё сообщение с рекламой, но без лишних ссылок (цитата, имя и т.п.).
Требования:
Т.к. ЦА решения простые вебмастера без навыков программирования, то нужно было сделать всё максимально просто для них.
Работа решения должна быть поверх стандартного форума, ничего не ломать, и не мешать обновлениям.
Решение:
Первое. Как сделать так чтобы не трогать шаблон? Обработчики. Вешаем на добавление сообщения юзера обработчик и следом пишем ещё одно сообщение с рекламой. Знаете, я даже реализовал это, но понял что это жесть. Куча костылей и лишний мусор в базе и работает это только для новых записей. Мне даже стало стыдно за такое глупое решение
Второе. Тут я всё же решил немного подлезть к шаблону через result_modifier.php модифицируя массив сообщений.
Но как же шаблон? Вдруг result_modifier.php уже что-то содержит?
Я проверяю существует ли result_modifier.php, вызов своего модуля пишу в конец result_modifier.php, при удалении я ищу свой вызов модуля и удаляю только его, после каждой операции с result_modifier.php я пишу в логи модуля содержимое этого файла для возможности восстановления. Провел больше десятка тестов - всё ok!
Как убрать ссылки "цитата" в рекламных сообщениях ведь они в шаблоне?
Добавляем к POST_MESSAGE_TEXT строку со своими правилами для id каждого рекламного объявления и вуаля!
Осталось функцией glob отыскать все шаблоны темы форума в системе.
Итог мне кажется отличный. База свободна, шаблоны целы, реклама работает
p.s.: прошу ответить на некоторые
Сначала не стал здесь писать о новом своем решении в маркетплейсе, но Антон заинтересовался технической реализацией и я подумал что и другим будет интересно. Тем более решение мне пришло в голову не сразу.
[spoiler]
Тем кто не видел -
Задача:
Выводить между сообщениями пользователей своё сообщение с рекламой, но без лишних ссылок (цитата, имя и т.п.).
Требования:
Т.к. ЦА решения простые вебмастера без навыков программирования, то нужно было сделать всё максимально просто для них.
Работа решения должна быть поверх стандартного форума, ничего не ломать, и не мешать обновлениям.
Решение:
Первое. Как сделать так чтобы не трогать шаблон? Обработчики. Вешаем на добавление сообщения юзера обработчик и следом пишем ещё одно сообщение с рекламой. Знаете, я даже реализовал это, но понял что это жесть. Куча костылей и лишний мусор в базе и работает это только для новых записей. Мне даже стало стыдно за такое глупое решение

Второе. Тут я всё же решил немного подлезть к шаблону через result_modifier.php модифицируя массив сообщений.
Но как же шаблон? Вдруг result_modifier.php уже что-то содержит?
Я проверяю существует ли result_modifier.php, вызов своего модуля пишу в конец result_modifier.php, при удалении я ищу свой вызов модуля и удаляю только его, после каждой операции с result_modifier.php я пишу в логи модуля содержимое этого файла для возможности восстановления. Провел больше десятка тестов - всё ok!
Как убрать ссылки "цитата" в рекламных сообщениях ведь они в шаблоне?
Добавляем к POST_MESSAGE_TEXT строку со своими правилами для id каждого рекламного объявления и вуаля!
Осталось функцией glob отыскать все шаблоны темы форума в системе.
Итог мне кажется отличный. База свободна, шаблоны целы, реклама работает

p.s.: прошу ответить на некоторые
