после недавнего обновления один из наших компонентов перестал работать. Ранее компонент расширял кнопку встроенной цитаты, которая находилась в файле quote-button.hbs. Теперь этого файла больше нет — весь код был перемещён в файл gjs post-text-selection-toolbar.gjs. Если я пытаюсь переопределить его «старым» способом, браузер выдаёт следующее сообщение:
component-templates.js:62 [discourse/theme-48/discourse/templates/components/post-text-selection-toolbar] post-text-selection-toolbar был написан с использованием GJS, и его шаблон нельзя переопределить. Переопределение игнорируется.
Означает ли это, что этот элемент интерфейса в Discourse можно нацеливать только через определённые PluginOutlets?
Что делать, если мне нужен больший контроль над состоянием кнопок и новых элементов, которые добавляются? Мне кажется, это ограничивает функциональность.
Привет @Sören_Geier — всё верно, для внесения изменений в эту часть интерфейса вам потребуется использовать плагинные слоты (plugin outlets). Плагинные слоты — это гораздо более надёжный способ расширения функционала и обеспечат лучшую совместимость при обновлениях ядра Discourse.
Если существующие плагинные слоты не подходят для вашего случая, пожалуйста, сообщите нам об этом, и мы с радостью рассмотрим возможность добавления новых.
Да, это альтернативный способ рендеринга содержимого в плагинные слоты. Однако это скорее вопрос стиля написания кода — по сравнению с файлами /connectors/... это не добавляет новых функций.