Отображать «Предстоящие события» во всех категориях

Привет, коллеги! У меня возникла небольшая проблема, которую я не могу решить. У меня есть форум (laguaridaretro.com), где благодаря компоненту “Right Sidebar Blocks” я могу настраивать правую колонку форума. Дело в том, что там я размещаю предстоящие мероприятия, как вы можете увидеть на скриншоте ниже. Эти мероприятия отображаются на главной странице форума и в категории “События”, но когда я захожу в другую категорию форума, она просто пустая, как будто опубликованных мероприятий нет.

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

Календарь отображается, но события не перечислены, или всё исчезло?

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

По умолчанию список событий возвращает только события для текущей категории. Существует преобразователь значений (discourse-calendar-upcoming-events-show-cross-category), который можно использовать, чтобы это изменить.

Создайте новый компонент темы (полагаю, лучше, если он загружается ранним, поэтому используйте что-то вроде “aaa все события в каждой категории” в качестве имени).

На вкладке JS добавьте следующее:

api.registerValueTransformer(
   "discourse-calendar-upcoming-events-show-cross-category",
   () => true
 );

Так что это выглядит так:

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

Вот оно! Огромное спасибо от всей души, теперь я могу видеть события во всех категориях :smiley:

Почему бы нам не рассмотреть возможность добавления этого в качестве функции/параметра для существующего блока «Предстоящие события»?

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

Интересно! Я не знал, что он это тоже умеет. Примечательно, что он также отображает события в разделе «Сообщения» в календаре. Для меня это большое преимущество, и я предпочитаю это поведению по умолчанию.

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