AdPlugin несовместим с изменениями в модели?

Мне может казаться, но этот компонент ожидает модель, содержащую объект topic:

Однако, когда я вывожу эту модель в лог, атрибута topic больше нет?:

Есть ли причина, по которой атрибут topic был удалён? Я как раз использовал его для расширения adplugin :frowning:

2 лайка

Привет, Роберт. Я не думаю, что это было сделано намеренно. Ты смог выяснить, что означает @model? Было бы полезно понять, связано ли это с изменением в ядре или в плагине.

1 лайк

Разве он не принимает модель Post, передаваемую через коннектор post-bottom?

{{post-bottom-ad model=this}}

Тем не менее, я выполнил поиск по post-bottom в репозитории Discourse, но ничего не нашёл… Я покопаюсь чуть глубже.

1 лайк

Похоже, это очень старый код:

В нём используется объект темы, поэтому всё, что находится ниже этого, может меняться :sweat_smile:

2 лайка

Понятно, что произошло — спасибо за предупреждение @merefield

Два момента:

  1. Во время рефакторинга несколько месяцев назад мы по ошибке начали передавать ‘transformedPost’ вместо ‘post’ в post-bottom-ad.

  2. В ходе того же рефакторинга мы оставили старый файл post-bottom/discourse-adplugin.hbs. Он на самом деле ничего не делал, но из-за него эта проблема стала намного сложнее для понимания :sweat_smile:

4 лайка

Это идеальное описание :slight_smile:

Архитектура интерфейса потока постов — это настоящая махина!

Огромное спасибо, что уделили этому внимание!!

6 лайков

Эта тема была автоматически закрыта через 4 дня. Новые ответы больше не принимаются.