Как добавить краткое содержание темы ко всем моим темам

Привет, сообщество,

Немного покопавшись в коде Discourse, я понял, что только закрепленные темы содержат атрибут excerpt. Хотя я мог бы обновить сериализатор темы, чтобы добавить этот атрибут, я хотел бы избежать изменений в бэкенде, так как их сложнее поддерживать, чем правки на стороне клиента.

Вопрос:
В чем разница между закрепленными и обычными темами, из-за которой только закрепленные отображают excerpt?

Как говорится, лучше один раз увидеть. Вот моя локальная среда на последней странице. Как видите, только закрепленная тема показывает excerpt. Почему? и Как я могу изменить это с помощью темы Discourse?

Кажется странным предполагать, что это невозможно, так как excerpt появляется именно при закреплении темы. Я полагаю, мне нужно скорректировать запрос, который выполняет страница обнаружения тем, чтобы всегда запрашивать excerpt… но, честно говоря, мне все еще трудно понять поток данных в Discourse, даже имея некоторый опыт его модификации.

Будет полезно также иметь документацию о том, как работает поток данных в Discourse.

Спасибо большое!!

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

Посмотрите пример здесь:

Отлично, @Falco

Я как раз собирался ответить Алексису, но увидел, что вы уже печатаете.

Чтобы немного ответить на его общий вопрос: включение данных часто определяется используемым сериализатором.

Когда я проверял этот пример, я нашёл: discourse/app/serializers/listable_topic_serializer.rb at 094ddb1c1ffcd305e841dfa1efd6981507519054 · discourse/discourse · GitHub

А именно:

  def include_excerpt?
    pinned || SiteSetting.always_include_topic_excerpts || ThemeModifierHelper.new(request: scope.request).serialize_topic_excerpts
  end

Что, в общем-то, всё объясняет :slight_smile:

Глубоко извиняюсь за то, что так поздно присоединился к разговору, чтобы сказать спасибо! hahaha. Но в любом случае, огромное спасибо за то, что отреагировали так быстро. Я прочитал сообщение сразу, как вы его опубликовали, но был на телефоне и не мог войти в платформу. Спасибо! :blush:

Для тех, кто находит эту тему через поиск, теперь можно использовать: Topic List Excerpts