Боковая панель не показывает категорию, хотя она указана в категориях меню навигации по умолчанию

Я настроил 2 категории:

  • одна категория School_A, которая является приватной для конкретной группы group_School_A
  • одна категория Support, которая является приватной для пользователей с уровнем доверия Trust Level 0

Я настроил параметр Default navigation menu categories, чтобы в него входили School_A и Support, но на боковой панели для пользователей, принадлежащих к group_School_A, отображается только School_A.

Чтобы получить доступ к Support, нам всё ещё нужно нажать на All categories и выбрать Support.

Если я настрою категорию Support как приватную для group_School_A, проблема всё равно остаётся.

Может ли кто-нибудь помочь разобраться, что я делаю не так?

Спасибо

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

Возможно, именно в этом и заключается проблема.

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

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

Но тогда возникает вопрос: как применить новый параметр к существующим пользователям?
Есть ли API, которым я могу воспользоваться?
Пользователи создали свои аккаунты неделю назад (то есть времени на настройку было немного), и я только сегодня заметил проблему с боковой панелью и невидимой категорией.
Если я попрослю пользователей выполнить какое-либо действие, большинство из них не поймут, а остальные просто проигнорируют…

Большое спасибо!

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

Таким образом, вы должны сможете удалить support и school_a из настроек и сохранить изменения, не применяя их к существующим пользователям. Затем подождите несколько минут и добавьте их обратно. На этот раз примените изменения к существующим пользователям. (Не пугайтесь из-за количества элементов: оно может быть неверным, так как вы добавляете более одной категории)

Здесь есть руководство, но оно сосредоточено на отмене любых пользовательских изменений и принудительном применении одинаковой боковой панели для всех: How to set the same sidebar categories for all the users.

Я думаю, что я уже применил это изменение к существующим пользователям.

Но я попробовал ещё раз:

  • когда я удаляю все категории из default navigation menu categories, система предлагает применить изменения к существующим пользователям. Я отвечаю «Нет».
  • Я жду несколько минут.
  • Я добавляю их снова, но на этот раз предложения применить изменения к существующим пользователям нет.
  • Я проверил боковую панель, и пункт Support по-прежнему не отмечен (но присутствует).
  • Я попробовал добавить тестовую категорию в default navigation menu categories, чтобы вызвать запрос на применение изменений к существующим пользователям. На этот раз запрос появился, и я ответил «Да».
  • Я снова проверил боковую панель, и пункт Support по-прежнему не отмечен.

Похоже, есть какая-то проблема с опцией apply this change historically?

Обновление: я попробовал снова: очистил default navigation menu categories, применил изменения к существующим пользователям, подождал несколько минут, добавил категории обратно и снова применил изменения к существующим пользователям — и на этот раз всё сработало!

Большое спасибо

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

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

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

-- [params]
-- group_id :group
-- category_id :category

SELECT
    u.id AS user_id,
    CASE WHEN sl.id IS NULL THEN 'Нет' ELSE 'Да' END AS category_added_to_sidebar
FROM users u
JOIN group_users gu ON gu.user_id = u.id
LEFT JOIN sidebar_section_links sl
    ON sl.user_id = u.id
    AND sl.linkable_type = 'Category'
    AND sl.linkable_id = :category
WHERE gu.group_id = :group
ORDER BY category_added_to_sidebar ASC

Результат выглядит так:

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

Похоже, теперь всё работает, большое спасибо за вашу поддержку!