У меня есть сообщество на Discourse, часть контента в котором общедоступна, а часть — приватна. Я хочу изменить поведение при попытке доступа к существующей странице, на которую у пользователя нет прав, когда он не авторизован.
То есть вместо сообщения «страница не найдена» нужно показать, что страница существует, но является приватной (например, «эта страница приватна»), а затем предложить зарегистрироваться.
Мы используем SSO для управления пользователями.
Это серьёзное препятствие для тех, кто не является участником сообщества: они «отскакивают» от глубоких ссылок, которые мы распространяем, вместо того чтобы получить предложение зарегистрироваться и продолжить.
Пока единственное, что я могу «настроить», — это текст page_not_found.title в разделе Администрирование > Настройка. Я изменил его на:
Для просмотра этой страницы необходимо войти в систему — или, возможно, она действительно не существует. Чтобы узнать больше, ознакомьтесь с темой «Краткое руководство» ниже.
У нас есть тема под названием «Добро пожаловать — Краткое руководство», которая доступна для публичного просмотра. Мы направляем на эту страницу значительный трафик (например, используем короткие URL-адреса вроде example.com/community, которые перенаправляют на глубокую ссылку на эту тему). Поэтому она часто появляется в списке тем, отображаемых на странице «Страница не найдена».
К сожалению, такое изменение заголовка — слабое решение.
Можно ли добавить статический контент на эту страницу?
DOM-структура этой страницы содержит множество выбираемых свойств: идентификаторы и классы.
Есть ли способ изменить мою тему, чтобы добавить на эту конкретную страницу что-то дополнительное? Например, блок с контентом, объясняющим, как присоединиться?
Да, вверху есть кнопка «Войти». Нет, пользователи не нажимают на неё, когда попадают на сайт по глубокой ссылке, с которой их сразу выбрасывает. Даже если бы они это сделали, наш провайдер SSO (я с укором смотрю на memberful.com) не предусматривает на странице входа ссылки «Нет аккаунта? Зарегистрируйтесь здесь». Таким образом, кнопка входа ведёт в тупик.
Добавлена новая настройка сайта, позволяющая включить более подробную страницу 404, раскрывающую секретную информацию, например: «Вы попытались загрузить личное сообщение, к которому у вас нет доступа», вместо стандартной страницы 404.
Да, это уже обсуждалось в публичной теме, где я начал это обсуждение, прежде чем перенести его в личное сообщение поддержки. Я пробовал, но это недостаточно эффективно, чтобы «вылавливать» тех, кто, как я называю, «отскакивает» от существующей темы, которая была бы видна, если бы они вошли в систему.