Хуки для кастомизации дайджестов и уведомительных писем

У меня есть клиент, который хотел бы размещать рекламу в сводных и уведомительных письмах. Я «написал» плагин, который позволяет добавлять текст в дайджест-письма (хотя, по-моему, его нужно обновить, чтобы он соответствовал изменениям в шаблоне).

Мне не нравится, что для кастомизации этих писем приходится переопределять весь шаблон.

Можно ли реализовать возможность добавления контента в эти письма без переопределения шаблона?

Плагин работает так: он получает ID темы из пользовательского поля и включает raw-версию последнего сообщения в теме как текст, добавляемый в письмо (непосредственно перед заголовком или после него). Хотя это довольно хитрый трюк, он кажется слишком сложным и неудобным решением для включения в ядро. Возможно, существует способ, чтобы плагин рекламы мог применять внутренние рекламные объявления к дайджестам и сводным письмам?

Управление ненадёжным плагином

Может быть, мне стоит написать спецификацию, которая сравнивает дайджест-письмо с отключённым плагином и дайджест-письмо с включённым, но не настроенным на добавление чего-либо плагином? Тогда я смогу отслеживать изменения в основном шаблоне?

6 лайков

Привет, Джей.

Этот плагин «работает» с Discourse 3.1? Или хотя бы стоит попробовать?

Можно попробовать. После этого сообщения я больше от них не слышал, так что, похоже, они с тех пор не обновлялись.

Дайте знать, если что-то сломается. Скорее всего, у меня не будет времени бесплатно это исправить, но возможно, что и будет.

2 лайка

Насколько я понимаю, digest_custom_html и digest_custom_text уже реализуют хуки для digest.html.erb и digest.text.erb. Таким образом, базовая реализация этой задачи потребовала бы добавления дополнительных хуков?

Более продвинутая реализация могла бы включать подшаблоны, которые позволяли бы авторам плагинов использовать стили и код форматирования, поддерживаемые командой Discourse.

Правильно ли я понимаю, что ваша реализация возможна при добавлении одного хука digest_custom_html("before_preheader") в digest.html.erb?

Думаю, да. Я уже много лет не вникал в то, как это работает.

Привет, @thoka, тебе удалось что-то реализовать через эти хуки? Мы сейчас рассматриваем возможность внедрения простых спонсируемых сегментов через эти хуки.

Я сделал это. Пока вы генерируете свои вставки с использованием html_safe, у вас всё в порядке.

Обсуждение ведётся здесь: Исправление digest_custom_html для обработки как HTML (было: Переопределение digest.html.erb)

2 лайка