На Meta тестируются пользовательские секции боковой панели

Круто, приятно слышать, как вы планируете использовать функцию «переместить разделы».

Эта функция в данный момент не является для нас приоритетной, но её можно реализовать с помощью переопределения:

Администрирование → Настройка → Текст ?

js.sidebar.sections.categories.header_link_text

3 лайка

Отлично. Спасибо за подсказку. Похоже, это доступно для всех заголовков разделов категорий, кроме «Каналы». Когда я выполняю следующий поиск, ничего не возвращается. Это ожидаемо?

3 лайка

Также хочу сказать спасибо за этот прогресс.

Следует отметить, что в настройках всё ещё нужно включить параметр enable custom sidebar sections (включить пользовательские разделы боковой панели), и только группы, разрешённые там, смогут видеть пользовательские разделы, помеченные как «Сделать этот раздел общедоступным и видимым для всех». Таким образом, чтобы определённые группы видели глобальный пользовательский раздел, необходимо также разрешить им создавать собственные персональные меню.

Кроме того, я считаю, что для максимальной полезности глобально видимых разделов, предоставляемых администратором, они должны быть доступны также анонимным посетителям (не авторизованным), что в настоящее время не реализовано.

Мне это тоже очень нужно, как и возможность настроить меню сообщества. Но пока не забудьте об этой фантастической подсказке:

А вот моё решение:

.sidebar-section-content {
  display: flex;
  flex-direction: column;
  .sidebar-more-section-links-details {
    order: +1;
  }
}
.sidebar-section[data-section-name="tags"] {
  display: none
}
.sidebar-section[data-section-name="categories"] {
  display: flex;
  flex-direction: column;
  order: +1;
}
.sidebar-custom-sections {
  display: flex;
  flex-direction: column;
  order: +1;
}
4 лайка

Ох, хм… поскольку чат является плагином, он, вероятно, внедряется каким-то другим способом и использует одну из строк, которую можно найти, если просто поискать «чат», — но я не уверен, какая именно. Придется найти её.

3 лайка

А, теперь я понимаю, что вы имеете в виду. Спасибо за информацию.

Может быть, это один из них?

Я не буду пробовать «на всякий случай», чтобы не ошибиться.

3 лайка

js.chat.chat_channels — это то, что отображается в боковой панели и в списке каналов в панели чата. js.chat.browse.title — это то, что показывается на странице просмотра каналов (например, при нажатии на карандаш редактирования рядом с каналами).

Возможно, они используются и в других местах, но я их там не встречал.

Переопределить их, скорее всего, безопасно. Вы всегда сможете найти изменённый текст и вернуть его к значению по умолчанию, используя кнопку «Отменить».

3 лайка

Спасибо за помощь, @mcwumbly. Я попробую.

3 лайка

Порядок ссылок работает некорректно в мобильном представлении (сенсорный экран).
Я думаю, это связано с тем, что свойство user-select: none применено к .sidebar-wrapper, которое используется только в десктопном представлении (не узком).

Я добавил его сюда, и теперь всё отлично работает и на мобильных устройствах. :slightly_smiling_face:

.hamburger-panel .revamped {
  .panel-body-contents {
    .sidebar-hamburger-dropdown {
      @include unselectable;
    }
  }
}
2 лайка

Я создал новую секцию в левом меню с выбранными мной вариантами. Как скрыть через CSS другие разделы, определённые Discourse? Я хочу удалить разделы «Сообщество» и «Категории».

2 лайка

Отлично! У меня поиск не работал. Мой планшет и веб-сайт не могли договориться о показе клавиатуры. Как видите, она исчезает, даже если я ничего не нажимаю.

Это может быть проблемой моего планшета, но как пользователи форума узнают, что им нужно искать? Особенно если язык по умолчанию не английский.
Если пользователи хотят выбрать эмодзи, они могут выбрать его из меню. Им не нужно искать (на иностранном языке). Возможно, для иконок должно быть что-то подобное.

3 лайка

Действительно, эта проблема возникает и на моем планшете, и на телефонах, для которых макет формы не оптимизирован:

3 лайка

Кастомные разделы боковой панели — это здорово, но как насчёт редактирования уже существующих, например «Сообщество» или «Категории»? Это планируется? Если да, то когда примерно?

Пока что я написал удобный скрипт с использованием промисов и MutationObserver. Если хотите попробовать, создайте компонент темы и вставьте этот код в секцию head:

Любые сворачивания, разворачивания и обновления должны работать автоматически и эффективно.

При изменении боковой панели для каждой ссылки создаётся промис, который выполняется, когда становится доступен соответствующий раздел ссылки.

Укажите вставки по разделам. kebab должен быть text в kebab-регистре.

Я реализовал различные опции «позиционирования». Вы можете добавлять раздел в конец или в начало. Также можно добавить ссылку до или после существующей ссылки в разделе.

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

Когда будете уверены, что всё работает, можете удалить или закомментировать несколько операторов console.log, которые использовались для отладки.

Пожалуйста, сообщите, если обнаружите ошибки.

Стоит ли публиковать это как полноценный компонент темы? Снова возникает вопрос: не скоро ли появится официальная функция?

3 лайка

Сейчас возможность для администраторов редактировать раздел «Сообщество» находится у нас в приоритете.

Какой именно вид настройки для чего-то вроде «Категорий» вы имели в виду? (Помимо добавления или удаления категорий, что можно сделать и сегодня)

4 лайка

Я использую теги вместо подкатегорий для большинства вещей. Проблема в том, что у вас практически нет контроля над тем, как они представлены пользователям с точки зрения навигации. Вы не можете упорядочивать, выделять или скрывать теги, и они не отображаются на странице /categories, как это делают подкатегории.

Лучшее решение, которое я пока нашел, — создать тему с картой сайта и добавлять ссылки на неё там, где это уместно. Это может быть в боковой панели (над разделом «Категории» или где-то в разделе «Сообщество»).

Полная информация в этом посте:

4 лайка

Если у вас есть скриншоты или макеты того, как вы хотите видеть раздел «Категории» на вашем сайте, мне было бы интересно посмотреть, что у вас на уме.

3 лайка

Отлично слышать! Было бы возможно сделать так, чтобы эти настройки применялись также для анонимных посетителей?

4 лайка

Привет, Дэйв, вот мои мысли.

На мой взгляд, в Discourse страница /categories по умолчанию функционирует скорее как карта сайта для навигации и поиска тем, если только вы не хотите видеть ленту, например /latest.

Во-первых, я хочу, чтобы карта сайта (какой бы она ни была) была более заметной, чем в нижней части боковой панели раздела «Категории». Первой мыслью было переместить ссылку «Все категории» (/categories) в верхнюю часть боковой панели.

Однако я в основном использую теги (с правилами, назначенными категориям через группы тегов) для структуры вместо подкатегорий, поэтому /categories для меня не совсем подходит.

В настоящее время моя боковая панель раздела «Категории» начинается так, а ниже идут категории:

Это ссылка на тему, которую я описал в своём предыдущем сообщении.

В идеале для меня, вместо темы карты сайта, страница /categories могла бы использоваться, если бы она имела функции для отображения тегов в качестве структуры. Я мог бы представить список тегов внутри каждой категории. Предпочтительно, чтобы у меня была возможность упорядочивать эти списки тегов как угодно (фиксированный порядок), но вариант упорядочивания на основе популярности тегов тоже был бы крутым. Эти списки могут состоять из нескольких строк, которые могут, а могут и не соответствовать группам тегов, но это было бы логично. То есть каждая категория может использовать несколько групп тегов с разной логической организацией. У меня нет макета этого, но, думаю, я мог бы попробовать, если это неясно.

4 лайка

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

Также, возможно, вам будет интересна эта другая тема о использовании групп тегов: In the sidebar, can I list the tags by group?

4 лайка

Да, это в наших планах. На первом этапе мы планируем применить одни и те же настройки как для анонимных посетителей, так и для авторизованных пользователей, за исключением следующих незначительных моментов:

  • ссылки, ведущие на страницы, доступные только авторизованным пользователям, будут исключены для анонимных посетителей;
  • анонимные посетители будут видеть краткое описание сайта, в то время как авторизованные пользователи — нет.
7 лайков

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

2 лайка