Переупорядочить список групп

Текст «О» для этой категории Contribute > UX гласит:

А также для небольших «улучшений качества жизни».

Итак, вот оно :slight_smile:

Не могли бы мы упорядочить группы в алфавитном порядке?

https://meta.discourse.org/g

Спасибо :kissing_face_with_closed_eyes:

4 лайка

Вы имеете в виду группы на этом форуме?

Если нет, я с радостью покажу вам, как это сделать для вашего собственного форума.

1 лайк

Для контекста:

Можно ли сортировать их по полному имени?

Они отображаются с полным именем вверху крупным шрифтом, поэтому логично, что сортировка по более мелкому вторичному подтексту не имеет смысла :man_shrugging:

2 лайка

Сортировка по полному имени означает, что порядок зависит от языка вашего интерфейса. (Все группы по умолчанию меняют своё полное имя в зависимости от этого). Я предпочитаю, чтобы порядок оставался неизменным, независимо от того, просматриваю ли я список на английском или немецком языке. Мне нравится иметь возможность сказать пользователю: «Группа модераторов находится между группой-X и группой-Y», зная, что для него это будет так же, без необходимости проверять язык его интерфейса.

2 лайка

Тогда вверху, крупным шрифтом, должно отображаться имя @Name, а не полное имя? :thinking:

2 лайка

Да, пожалуйста, поделитесь :slight_smile:

Существует ли компонент темы, который это делает?

Это находится в разделе списка групп на странице «О вашем сайте» в панели администратора. Прокрутите вниз, и вы его найдёте.

Влияет ли настройка порядка отображения дополнительных групп на странице «О нас» также на то, как они отображаются на странице «Группы»?

1 лайк

Кажется, да, позвольте мне попробовать

Хм, я не вижу разницы. Попробуй со своей стороны, хотя, кажется, не получится.

2 лайка

Я думаю, это всё ещё актуально? :thinking:

Группы всё ещё…

Это означает:

Вот небольшой пример очень запутанного порядка групп:

1 лайк

Я придумал два способа перестановки списка групп, чтобы их положение оставалось фиксированным, макеты приведены ниже.

Как и сказал Moin, в разных языках группы могли бы перемещаться, если бы они были отсортированы по имени.

Вариант 1:

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

На странице групп /g добавьте новую кнопку :gear: Переставить группы


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


Вариант 2

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

По сути, вы создадите название группы для своих групп и сможете расположить их в любом порядке, а затем добавлять группы в созданное вами название группы и также менять их порядок. Извините, это запутанно :sweat_smile:


Опять же, вы начнете с кнопки :gear: Переставить группы

Это откроет редактор групп. Так же, как в редакторе значков, где можно перемещать группы «Начало работы», «Сообщество» и «Публикации» и т. д.

Затем вы можете редактировать/реорганизовать, например, группу «Регион», нажав на значок в редакторе групп (показан выше).


Что думаете?

3 лайка

Я ценю время и усилия, которые вы вложили в это :slight_smile:

Вариант 1, на мой взгляд, кажется наиболее логичным, тогда как Вариант 2 выглядит излишне сложным из-за необходимости группировать категории.

Касательно Варианта 1 и этого момента:

Возможно, функционал/интерфейс «Изменение порядка категорий» можно было бы применить и к группам:

3 лайка

Это действительно было бы полезно, имеет смысл сделать что-то подобное. Возможно, при создании группы мы просто расположим их в алфавитном порядке.

1 лайк

Я поиграл с этим и обнаружил, что группы можно переставлять, если они находятся внутри flex-контейнера.

В Horizon это сделано по умолчанию и является частью дизайна, поэтому стоит проверить активную тему и при необходимости адаптировать её:

.groups-boxes .group-box[data-group-name="group1"] {
order: -3;
}
.groups-boxes .group-box[data-group-name="group2"] {
order: -2;
}
.groups-boxes .group-box[data-group-name="group3"] {
order: -1;
}

Я не тестировал совместимость, но, судя по всему, это широко поддерживается современными браузерами, так как flex-отображение является общим стандартом.

Единственная проблема, которую я обнаружил, заключается в том, что блоки групп не подхватывали мои CSS-стили. Уже пытался использовать body.group-boxes, но безрезультатно.

Буду рад предложениям :slight_smile:

2 лайка

@satonotdead ты, конечно, гений :person_bowing:t2:

Я не менял Name или Full Name ни в одной из своих групп.

Я просто взял твоё предложение и добавил это в обе мои темы: Light и Dark (у меня отключён Horizon):

/* Re-order all  groups by their Full Name */
.groups-boxes>.group-box{order:999}
.groups-boxes>.group-box[data-group-name="group-3d-printing"]{order:1}
.groups-boxes>.group-box[data-group-name="admins"]{order:2}
.groups-boxes>.group-box[data-group-name="group-android"]{order:3}
.groups-boxes>.group-box[data-group-name="group-evo"]{order:4}
.groups-boxes>.group-box[data-group-name="BIGMEET"]{order:5}
.groups-boxes>.group-box[data-group-name="group-challenges"]{order:6}
.groups-boxes>.group-box[data-group-name="group-challenges-cmt"]{order:7}
.groups-boxes>.group-box[data-group-name="commercial-operators"]{order:8}
.groups-boxes>.group-box[data-group-name="group-air-2"]{order:9}
.groups-boxes>.group-box[data-group-name="group-air-2s"]{order:10}
.groups-boxes>.group-box[data-group-name="group-air-3"]{order:11}
.groups-boxes>.group-box[data-group-name="group-air-3s"]{order:12}
.groups-boxes>.group-box[data-group-name="group-dji-avata"]{order:13}
.groups-boxes>.group-box[data-group-name="group-flip"]{order:14}
.groups-boxes>.group-box[data-group-name="group-fly"]{order:15}
.groups-boxes>.group-box[data-group-name="group-dji-fpv"]{order:16}
.groups-boxes>.group-box[data-group-name="group-go4"]{order:17}
.groups-boxes>.group-box[data-group-name="group-dji-lito"]{order:18}
.groups-boxes>.group-box[data-group-name="group-mavic-2"]{order:19}
.groups-boxes>.group-box[data-group-name="group-mavic-3"]{order:20}
.groups-boxes>.group-box[data-group-name="group-mavic-4"]{order:21}
.groups-boxes>.group-box[data-group-name="group-mini-1"]{order:22}
.groups-boxes>.group-box[data-group-name="group-mavic-pro"]{order:23}
.groups-boxes>.group-box[data-group-name="group-mini-2"]{order:24}
.groups-boxes>.group-box[data-group-name="group-mini-3-pro"]{order:25}
.groups-boxes>.group-box[data-group-name="group-mini-4-pro"]{order:26}
.groups-boxes>.group-box[data-group-name="group-mini-4k"]{order:27}
.groups-boxes>.group-box[data-group-name="group-mini-5-pro"]{order:28}
.groups-boxes>.group-box[data-group-name="group-mini-se"]{order:29}
.groups-boxes>.group-box[data-group-name="group-neo"]{order:30}
.groups-boxes>.group-box[data-group-name="group-dji-sc"]{order:31}
.groups-boxes>.group-box[data-group-name="beta-testers"]{order:32}
.groups-boxes>.group-box[data-group-name="group-fpv"]{order:33}
.groups-boxes>.group-box[data-group-name="group-ios"]{order:34}
.groups-boxes>.group-box[data-group-name="group-litchi"]{order:35}
.groups-boxes>.group-box[data-group-name="moderators"]{order:36}
.groups-boxes>.group-box[data-group-name="group-eastmidlands"]{order:37}
.groups-boxes>.group-box[data-group-name="group-eastofengland"]{order:38}
.groups-boxes>.group-box[data-group-name="group-london"]{order:39}
.groups-boxes>.group-box[data-group-name="group-northeast"]{order:40}
.groups-boxes>.group-box[data-group-name="group-northwest"]{order:41}
.groups-boxes>.group-box[data-group-name="group-northernirel"]{order:42}
.groups-boxes>.group-box[data-group-name="group-scotland"]{order:43}
.groups-boxes>.group-box[data-group-name="group-southeast"]{order:44}
.groups-boxes>.group-box[data-group-name="group-southwest"]{order:45}
.groups-boxes>.group-box[data-group-name="group-wales"]{order:46}
.groups-boxes>.group-box[data-group-name="group-westmidlands"]{order:47}
.groups-boxes>.group-box[data-group-name="group-yorkshumber"]{order:48}
.groups-boxes>.group-box[data-group-name="staff"]{order:49}
.groups-boxes>.group-box[data-group-name="trust_level_0"]{order:50}
.groups-boxes>.group-box[data-group-name="trust_level_1"]{order:51}
.groups-boxes>.group-box[data-group-name="trust_level_2"]{order:52}
.groups-boxes>.group-box[data-group-name="trust_level_3"]{order:53}
.groups-boxes>.group-box[data-group-name="trust_level_4"]{order:54}

Теперь у меня получилось вот так:


До этого:


Огромное спасибо, @satonotdead, ты мне сегодня невероятно помог :chefs_kiss:

2 лайка

Отлично, я очень рад, что это оказалось полезно. Поверьте, обнаружение этого решения сделало и мой день (!) В нашем сообществе группы/уровни являются настраиваемыми, и возможность отображать их в правильном порядке для нас по-настоящему важна.

Обратите внимание, что значки также можно переставлять. Это особенно полезно для тех, кто использует их в связке с группами и испытывал трудности с их упорядочиванием в стандартном состоянии Discourse.

1 лайк

@Discourse моё предыдущее предложение всё ещё актуально для будущего спринта :blush:

1 лайк