Группировка URL-адресов по тегам

Всем привет,

TL;DR: Is there a way to link to a tag group? + некоторые расширяемые варианты.


Возвращаюсь в Discourse спустя несколько лет. Очень рад снова быть здесь. Я ещё не нашёл решения этой задачи, несмотря на то что изучил документацию, каталог плагинов и обсуждения на Meta. После некоторого размышления над вопросом «Категории или теги?» для моего случая, нескольких экспериментов и прочтения статьи It’s Time We Talked About Tags, я решил выбрать путь, ориентированный на теги.

Было бы здорово, если бы Discourse мог генерировать страницы, подобные странице по адресу https://discourse.example.com/tags (которая отображает все теги сайта в виде ссылок), но только для конкретных групп тегов. Опция «Теги, сгруппированные по группам» отлично подходит для страницы всех тегов, но при большом количестве тегов эта страница становится настоящим монстром.

Допустим, я администратор автомобильного сообщества и следую отличному руководству по адресу Set up structured tagging with tag groups and category tag restrictions. Я успешно настроил структурированные теги для марок и моделей автомобилей, как указано в инструкции.

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

Теперь мои пользователи могут перейти по ссылке https://discourse.example.com/tags и увидеть страницу со всеми этими тегами вместе, что в данном случае немного… подавляюще. Конечно, всё аккуратно и упорядочено, но список довольно длинный.

Что бы я хотел иметь возможность сделать, так это предоставить своим пользователям простые ссылки на:

  1. Только марки автомобилей — https://discourse.example.com/tag-group/makes
  2. Только модели автомобилей — https://discourse.example.com/tag-group/models
  3. Только спонсоров послепродажного обслуживания — https://discourse.example.com/tag-group/sponsors
  4. Только типы послепродажных модификаций — https://discourse.example.com/tag-group/modifications
  5. Только автомобильных дизайнеров — https://discourse.example.com/tag-group/designers
  6. Только гоночные команды — https://discourse.example.com/tag-group/racing-teams
  7. Только гоночных пилотов — https://discourse.example.com/tag-group/drivers

В качестве бонуса было бы ещё более впечатляюще иметь возможность ссылаться на страницы вроде:

  1. Марки + модели автомобилей — https://discourse.example.com/tag-groups/makes+models (что для отображения моделей под каждой маркой потребовало бы иерархического/вложенного механизма для групп тегов, аналогичного тому, что уже есть для тегов)
  2. Марки + гоночные команды — https://discourse.example.com/tag-groups/makes+racing-teams (те же требования, что и в предыдущем примере)
  3. Гоночные пилоты + модели автомобилей + спонсоры послепродажного обслуживания + модификации — https://discourse.example.com/tag-groups/drivers+models+sponsors+modifications (что для отображения пилотов над их моделями автомобилей, спонсорами и установленными типами модификаций потребовало бы нового типа механизма отношений между группами тегов и тегами)
  4. И любые разумные комбинации групп тегов, которые только можно придумать, с вариантами отображения, позволяющими показывать связи между ними.

Спасибо за прочтение. Что думаете?

1 лайк