Отображение текста «полная тема» на странице категории + доступ к подкатегории из строки меню

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

Вот как это выглядит сейчас, с темой Air и компонентом навигационной панели категорий.

Я пытаюсь понять, как реализовать две вещи (ни одна из которых не выглядит очевидной):

  1. Добавить прямой доступ к подкатегориям в навигационной панели через выпадающее меню.
  2. Отображать темы в режиме «полного текста» как на настольных компьютерах, так и на мобильных устройствах, чтобы пользователи могли просто прокручивать страницу вниз, не открывая темы, и читать всё подряд, если захотят.

Как бы вы это организовали?

Вот как это выглядит сейчас:

А вот ссылка, если хотите посмотреть напрямую: FAQ - Diabète Félin

Спасибо за вашу помощь!

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

Итак, вы хотите, чтобы в карточке темы отображался полный пост темы, а не краткое содержание?

Боюсь, что решение может потребовать использования другого компонента :-/

Именно — точно так же, как на блоге, где можно отображать полные посты на главной странице вместо отрывков.

ИЛИ какой-то другой способ «объединить» все темы (без ответов) на одной странице.

Я считаю, что оба варианта можно реализовать с помощью компонентов темы.

Это может вызвать проблемы с производительностью, так как отображаются все сообщения тем (но их можно смягчить с помощью ленивой загрузки?). Если у вас много тем, например, как в разделе «Мета», это может стать неосуществимым (если только не загружать больше тем по мере того, как пользователь доходит до конца страницы).

Это только для этой категории и, возможно, ещё для нескольких других с ограниченным количеством тем.

Так что… мне нужно научиться разрабатывать компоненты темы? :face_with_peeking_eye::sweat_smile:

В чём преимущество размещения этих вопросов в отдельных темах, а не в отдельных сообщениях внутри одной темы? Одна тема в Discourse прокручивается без каких-либо доработок. Кроме того, вы можете, например, добавить оглавление в первое сообщение.

Или, если у вас есть бюджет, вы можете разместить объявление в канале Marketplace.

Меня тоже это интересует. Неужели цель состоит в том, чтобы каждая тема FAQ оставалась открытой для ответов и обсуждений?

(Иначе я бы предложил создать один тему пост с включённой функцией Оглавления. Тогда весь материал можно было бы прокручивать, но при этом легко переходить к заголовкам разделов.)

По-моему, disco-toc всё ещё работает в рамках каждого поста. Я тоже об этом подумал; именно так я сделал на другом форуме Discourse. Но я не уверен, что в таком случае легко будет ссылаться на один из вопросов. У заголовков есть якоря, поэтому к ним можно ссылаться, но как только в FAQ добавляется новый вопрос, все ID заголовков после этого заголовка меняются, что ломает все ссылки. Тогда поиск этих ссылок в старых темах поддержки становится бесполезным, потому что они больше не ведут к нужному абзацу, а лишь к теме. Вот почему я обычно не ссылаюсь на FAQ, а каждый раз цитирую его.

Ах, я об этом не задумывался. Теперь буду иметь это в виду перед тем, как ссылаться на заголовки. :face_with_diagonal_mouth:

Это позволяет нам легко и напрямую ссылаться на один из вопросов при ответе кому-либо. Одна из проблем в моём сообществе заключается в том, что у нас огромный объём документации, охватывающий практически всё, но люди, приходящие сюда («мой кот умирает»), чувствуют себя перегруженными и не читают её. Кроме того, те, кто отвечает, не очень технически подкованы, поэтому просить их (в Facebook) скопировать и вставить ссылку на Google Doc в своём ответе — это слишком сложно, они просто этого не делают.

Discourse делает для нетехнических пользователей намного проще ссылаться на материалы внутри сообщества: нажмите на маленькую кнопку со ссылкой, начните вводить ключевое слово или название того, на что хотите сослаться, — и готово. Мы хотим упростить направление людей к отдельному элементу в FAQ, а не ко всему FAQ целиком.

Да, к сожалению, бюджета нет, я уже трачу свои деньги на хостинг :wink:

Более серьёзно: если я хочу начать собирать что-то под свои нужды, есть ли в Meta категория, где можно получить помощь? Я не имею в виду, чтобы кто-то сделал это за меня (я реалист), но чтобы отвечали на вопросы «новичка-разработчика» о том, как сделать xyz в моём компоненте и т.д.

Конечно, есть категория Development. Также вы можете ознакомиться с материалами по разработке в Documentation > Developer Guides и #community-wiki:developers.

У нас в Google Docs именно так: https://docs.google.com/document/u/0/d/1X4c1whNRQI32kuDFlYqOtaNFqw1R-CfzIv3quEuQYEU/

Но проблема здесь в том, как создать ссылку на заголовок раздела: если я нажимаю кнопку создания ссылки и начинаю вводить текст, предложит ли Discourse выбрать заголовки разделов для прямой ссылки или только темы/категории?

Спасибо, я добавлю это в свой список дел!

Нет, вы правы, заголовки разделов здесь не подойдут. Похоже, вы на правильном пути с темами FAQ.

А как насчет Discourse Doc Categories?

О, я забыл об этом! Это может помочь. Добавлю это в свой список для изучения. (Мой список начинает становиться очень длинным :cry:)

Вы можете ссылаться на заголовки внутри поста так: https://meta.discourse.org/t/configuring-the-default-sidebar-for-your-users/347764#p-1690272-adding-a-custom-section-13. Единственная проблема в том, что ссылка перестанет работать, если кто-то добавит новый заголовок выше этого.

Вы также можете добавлять ручные якоря в посты так: https://meta.discourse.org/t/markdown-links-to-anchors-not-working/150175/2. Они не сломаются, если будет добавлен новый заголовок.

Я также добавил в закладки https://meta.discourse.org/t/i-created-a-bookmarklet-to-create-the-table-of-content-for-forum-posts/270961, когда искал лучшее решение для раздела «Часто задаваемые вопросы».

Извините, ТоддZ, это не был прямой ответ на ваш пост.