Как работают ссылки на уровне root?

Из коробки Discourse включает несколько удобных ссылок: /faq, /privacy и /about.

Не совсем понятно, как они работают. Похоже, что это темы в канале для сотрудников, который обычно не виден пользователям, не авторизовавшимся в системе. Однако /privacy и /tos доступны даже неавторизованным пользователям, даже когда включена настройка «обязательный вход». (Это нормально, меня это не беспокоит, просто констатирую факт).

Разве эти ссылки специально запрограммированы в Discourse? Или они находятся под моим контролем? Просто ли это постоянные ссылки (permalink)? Я хочу создать аналогичную ссылку /acceptable-use, которая будет работать так же.

У этих страниц есть ещё одна приятная особенность: в верхней части страницы есть ссылки с надписями «Privacy» и «Terms of Service», позволяющие навигацию. Если вы авторизованы, вы также видите ссылку «FAQ», но если вы не авторизованы — её нет. Я не могу понять, как это реализовано, потому что эти элементы не видны в теле тем, содержащих условия использования или политику конфиденциальности.

Как добавить ещё одну страницу верхнего уровня, которая будет работать так же? Я хочу, чтобы она вела себя как FAQ и была видна только авторизованным пользователям, но меня устроит и вариант, когда она будет публичной. Это не критично.

И наконец, есть ли какие-либо подсказки, как найти ответ на этот вопрос самостоятельно? Я довольно подробно искал в мета-форуме Discourse, но ничего подходящего не нашёл. Должна же быть какая-то документация или что-то подобное, что я не дочитал до конца.

1 лайк

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

Если ваша цель — просто добавить несколько дополнительных статических страниц, и точный URL для вас не критичен, вы можете использовать публикацию страниц. Это позволяет назначать темы в качестве статических страниц, которые также можно сделать доступными для анонимных пользователей.

3 лайка

В дополнение к использованию опубликования страниц вы также можете создавать виртуальные маршруты с помощью постоянных ссылок (admin/config/permalinks):

Это обеспечит перенаправление https://your-forum.com/perma-link на опубликованную страницу.

4 лайка

Очень полезно, спасибо! Мне также стало спокойнее, что я не упустил ничего важного в документации. Я всё ещё учусь.

2 лайка