Отлично. Спасибо за подсказку. Похоже, это доступно для всех заголовков разделов категорий, кроме «Каналы». Когда я выполняю следующий поиск, ничего не возвращается. Это ожидаемо?
Следует отметить, что в настройках всё ещё нужно включить параметр enable custom sidebar sections (включить пользовательские разделы боковой панели), и только группы, разрешённые там, смогут видеть пользовательские разделы, помеченные как «Сделать этот раздел общедоступным и видимым для всех». Таким образом, чтобы определённые группы видели глобальный пользовательский раздел, необходимо также разрешить им создавать собственные персональные меню.
Кроме того, я считаю, что для максимальной полезности глобально видимых разделов, предоставляемых администратором, они должны быть доступны также анонимным посетителям (не авторизованным), что в настоящее время не реализовано.
Мне это тоже очень нужно, как и возможность настроить меню сообщества. Но пока не забудьте об этой фантастической подсказке:
Ох, хм… поскольку чат является плагином, он, вероятно, внедряется каким-то другим способом и использует одну из строк, которую можно найти, если просто поискать «чат», — но я не уверен, какая именно. Придется найти её.
js.chat.chat_channels — это то, что отображается в боковой панели и в списке каналов в панели чата. js.chat.browse.title — это то, что показывается на странице просмотра каналов (например, при нажатии на карандаш редактирования рядом с каналами).
Возможно, они используются и в других местах, но я их там не встречал.
Переопределить их, скорее всего, безопасно. Вы всегда сможете найти изменённый текст и вернуть его к значению по умолчанию, используя кнопку «Отменить».
Порядок ссылок работает некорректно в мобильном представлении (сенсорный экран).
Я думаю, это связано с тем, что свойство user-select: none применено к .sidebar-wrapper, которое используется только в десктопном представлении (не узком).
Я добавил его сюда, и теперь всё отлично работает и на мобильных устройствах.
Я создал новую секцию в левом меню с выбранными мной вариантами. Как скрыть через CSS другие разделы, определённые Discourse? Я хочу удалить разделы «Сообщество» и «Категории».
Отлично! У меня поиск не работал. Мой планшет и веб-сайт не могли договориться о показе клавиатуры. Как видите, она исчезает, даже если я ничего не нажимаю.
Это может быть проблемой моего планшета, но как пользователи форума узнают, что им нужно искать? Особенно если язык по умолчанию не английский.
Если пользователи хотят выбрать эмодзи, они могут выбрать его из меню. Им не нужно искать (на иностранном языке). Возможно, для иконок должно быть что-то подобное.
Кастомные разделы боковой панели — это здорово, но как насчёт редактирования уже существующих, например «Сообщество» или «Категории»? Это планируется? Если да, то когда примерно?
Пока что я написал удобный скрипт с использованием промисов и MutationObserver. Если хотите попробовать, создайте компонент темы и вставьте этот код в секцию head:
Любые сворачивания, разворачивания и обновления должны работать автоматически и эффективно.
При изменении боковой панели для каждой ссылки создаётся промис, который выполняется, когда становится доступен соответствующий раздел ссылки.
Укажите вставки по разделам. kebab должен быть text в kebab-регистре.
Я реализовал различные опции «позиционирования». Вы можете добавлять раздел в конец или в начало. Также можно добавить ссылку до или после существующей ссылки в разделе.
Можно также удалять ссылки. Если вы не используете эту функцию, просто оставьте массив удалений пустым.
Когда будете уверены, что всё работает, можете удалить или закомментировать несколько операторов console.log, которые использовались для отладки.
Пожалуйста, сообщите, если обнаружите ошибки.
Стоит ли публиковать это как полноценный компонент темы? Снова возникает вопрос: не скоро ли появится официальная функция?
Я использую теги вместо подкатегорий для большинства вещей. Проблема в том, что у вас практически нет контроля над тем, как они представлены пользователям с точки зрения навигации. Вы не можете упорядочивать, выделять или скрывать теги, и они не отображаются на странице /categories, как это делают подкатегории.
Лучшее решение, которое я пока нашел, — создать тему с картой сайта и добавлять ссылки на неё там, где это уместно. Это может быть в боковой панели (над разделом «Категории» или где-то в разделе «Сообщество»).
На мой взгляд, в Discourse страница /categories по умолчанию функционирует скорее как карта сайта для навигации и поиска тем, если только вы не хотите видеть ленту, например /latest.
Во-первых, я хочу, чтобы карта сайта (какой бы она ни была) была более заметной, чем в нижней части боковой панели раздела «Категории». Первой мыслью было переместить ссылку «Все категории» (/categories) в верхнюю часть боковой панели.
Однако я в основном использую теги (с правилами, назначенными категориям через группы тегов) для структуры вместо подкатегорий, поэтому /categories для меня не совсем подходит.
В настоящее время моя боковая панель раздела «Категории» начинается так, а ниже идут категории:
Это ссылка на тему, которую я описал в своём предыдущем сообщении.
В идеале для меня, вместо темы карты сайта, страница /categories могла бы использоваться, если бы она имела функции для отображения тегов в качестве структуры. Я мог бы представить список тегов внутри каждой категории. Предпочтительно, чтобы у меня была возможность упорядочивать эти списки тегов как угодно (фиксированный порядок), но вариант упорядочивания на основе популярности тегов тоже был бы крутым. Эти списки могут состоять из нескольких строк, которые могут, а могут и не соответствовать группам тегов, но это было бы логично. То есть каждая категория может использовать несколько групп тегов с разной логической организацией. У меня нет макета этого, но, думаю, я мог бы попробовать, если это неясно.
Хорошо, я начинаю лучше понимать, к чему вы стремитесь. Однако у меня пока нет конкретных идей, как это можно реализовать на практике. Если вы всё же добьётесь результата, близкого к желаемому, используя пользовательские секции или дополнительную настройку боковой панели, я с удовольствием посмотрю, что у вас получится.
Да, это в наших планах. На первом этапе мы планируем применить одни и те же настройки как для анонимных посетителей, так и для авторизованных пользователей, за исключением следующих незначительных моментов:
ссылки, ведущие на страницы, доступные только авторизованным пользователям, будут исключены для анонимных посетителей;
анонимные посетители будут видеть краткое описание сайта, в то время как авторизованные пользователи — нет.
Я только что обновил Discourse, и теперь моя глобальная пользовательская секция видна даже анонимным пользователям. Клянусь, раньше так не было. Это новое изменение?