Новый параметр «Страница по умолчанию»

В настоящее время, чтобы изменить главную страницу вашего сайта Discourse, вам необходимо настроить параметр сайта top menu и указать желаемую главную страницу в качестве первого элемента в списке. Это поведение может быть неочевидным для новых администраторов.

Сегодня мы вносим изменение, которое добавляет новый параметр сайта default homepage, чтобы сделать этот процесс более понятным и простым.

Существующим сайтам не потребуется выполнять никаких действий, так как значение по умолчанию для этого нового параметра — first item in top menu, что соответствует функциональности, которая у нас всегда была. Те же самые варианты присутствуют и в новом параметре. Если вы выберете главную страницу, доступную только для авторизованных пользователей, например new, мы всё равно будем использовать в качестве резервной первый элемент top menu, доступный для анонимных посетителей.

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

В будущем мы можем добавить новые варианты для главной страницы, поэтому следите за обновлениями!

20 лайков

Это очень приятное дополнение, Крис! :clap:

Поскольку мы собираемся внедрить новую домашнюю страницу через outlet custom-homepage, мне интересно, будет ли эта новая настройка учитывать пользовательскую домашнюю страницу, когда плагин или компонент темы её добавляет. Я планировал обновить пользовательские настройки, сбрасывая параметр домашней страницы к значению по умолчанию -1.

Итак, продолжая эту тему, обновит ли эта новая настройка также варианты в параметре домашней страницы пользовательских настроек?

И наконец, если домашняя страница по умолчанию установлена на первый элемент в верхнем меню, и через api.addNavigationBarItem() добавлена пользовательская ссылка, которая размещается первым элементом, будет ли она действительно считаться первым элементом?

4 лайка

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

Пока что нет… параметры по-прежнему те же, что и в верхнем меню, но одно изменение уже произошло: теперь в пользовательских предпочтениях всегда будет доступен вариант default (ранее он был условным). Вариант “По умолчанию” в пользовательских предпочтениях будет следовать за настройкой сайта.

И здесь тоже пока что “нет” — помимо пользовательской домашней страницы в теме, домашняя страница сайта Discourse по-прежнему имеет различные требования к тому, чтобы быть страницей списка тем (или /categories), а у api.addNavigationBarItem() требования гораздо менее строгие.

3 лайка

Спасибо, Крис. Я очень заинтересован в этом и с любопытством наблюдаю за его развитием.

Могу поделиться одним наблюдением: когда компонент темы вводит пользовательскую домашнюю страницу, пользователи с настроенной персонализированной домашней страницей никогда её не увидят.

В отличие от элементов верхнего меню, для пользовательской домашней страницы нет пути, по которому я мог бы создать для неё пользовательский элемент меню.

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

2 лайка

Думаю, путь — /custom.

2 лайка

Теперь понял. Спасибо, @Moin, действительно работает.

Хотя /custom не был бы моим первым выбором для пути главной страницы :))

Вы можете использовать #пермалинки, чтобы использовать что-то вроде /home

да, спасибо, но это «перенаправляет» запрос, и в итоге всё равно попадает на /custom

1 лайк