В настоящее время, чтобы изменить главную страницу вашего сайта Discourse, вам необходимо настроить параметр сайта top menu и указать желаемую главную страницу в качестве первого элемента в списке. Это поведение может быть неочевидным для новых администраторов.
Сегодня мы вносим изменение, которое добавляет новый параметр сайта default homepage, чтобы сделать этот процесс более понятным и простым.
Существующим сайтам не потребуется выполнять никаких действий, так как значение по умолчанию для этого нового параметра — first item in top menu, что соответствует функциональности, которая у нас всегда была. Те же самые варианты присутствуют и в новом параметре. Если вы выберете главную страницу, доступную только для авторизованных пользователей, например new, мы всё равно будем использовать в качестве резервной первый элемент top menu, доступный для анонимных посетителей.
Одним из изменений, которые открывает этот новый параметр, является возможность иметь главную страницу, которой нет в верхнем меню. Так, например, вы можете установить categories в качестве главной страницы и удалить этот пункт из параметра top menu, поскольку ссылка на все категории также доступна в боковой панели.
Поскольку мы собираемся внедрить новую домашнюю страницу через outlet custom-homepage, мне интересно, будет ли эта новая настройка учитывать пользовательскую домашнюю страницу, когда плагин или компонент темы её добавляет. Я планировал обновить пользовательские настройки, сбрасывая параметр домашней страницы к значению по умолчанию -1.
Итак, продолжая эту тему, обновит ли эта новая настройка также варианты в параметре домашней страницы пользовательских настроек?
И наконец, если домашняя страница по умолчанию установлена на первый элемент в верхнем меню, и через api.addNavigationBarItem() добавлена пользовательская ссылка, которая размещается первым элементом, будет ли она действительно считаться первым элементом?
Нет, это по-прежнему работает так же. Модификатор темы для пользовательских домашних страниц полностью переопределяет настройку сайта. Навигация по этому вопросу немного усложняется, потому что если на сайте доступно несколько тем, и одна из них не имеет пользовательской домашней страницы, нам придётся управлять резервными вариантами. Над этим нам ещё предстоит подумать.
Пока что нет… параметры по-прежнему те же, что и в верхнем меню, но одно изменение уже произошло: теперь в пользовательских предпочтениях всегда будет доступен вариант default (ранее он был условным). Вариант “По умолчанию” в пользовательских предпочтениях будет следовать за настройкой сайта.
И здесь тоже пока что “нет” — помимо пользовательской домашней страницы в теме, домашняя страница сайта Discourse по-прежнему имеет различные требования к тому, чтобы быть страницей списка тем (или /categories), а у api.addNavigationBarItem() требования гораздо менее строгие.
Спасибо, Крис. Я очень заинтересован в этом и с любопытством наблюдаю за его развитием.
Могу поделиться одним наблюдением: когда компонент темы вводит пользовательскую домашнюю страницу, пользователи с настроенной персонализированной домашней страницей никогда её не увидят.
В отличие от элементов верхнего меню, для пользовательской домашней страницы нет пути, по которому я мог бы создать для неё пользовательский элемент меню.
Именно по этой причине, хотя это и кажется крайностью, я планировал сбросить пользовательские настройки до значения по умолчанию -1. Насколько я понимаю, это будет мой единственный вариант, чтобы все пользователи увидели новую домашнюю страницу. После этого они всё ещё смогут настроить её в своих личных параметрах.