Привет!
У меня есть удалённая тема, и я хочу переопределить шаблон или компонент components/sidebar/common/community-section. Я пробовал переопределять шаблон Handlebars в своей удалённой теме через путь /javascripts/discourse/sidebar/common/community-section.hbs, но это, похоже, не работает. Также я пытался использовать api.modifyClass("component:sidebar/common/community-section", ...), но это тоже, кажется, не регистрируется.
Почему шаблоны Handlebars находятся в этой директории, а не в директории templates? Есть ли у вас какие-либо предложения, как можно изменить этот компонент/шаблон, или, возможно, я что-то делаю не так?
Мы работаем над обновлением Discourse до последней версии Ember, и одна из новых функций — коллокация шаблонов (шаблоны и соответствующий JS-файл могут находиться в одной директории).
Я думаю, что правильный путь должен быть /javascripts/discourse/components/sidebar/common/community-section.hbs, но я только что проверил, и это тоже не работает у меня… Я перепроверю это с командой, занимающейся этими обновлениями.
Привет, @kaden-stytch! Сайдбар и несколько других частей Discourse используют более современный подход к обработке шаблонов (локальные шаблоны компонентов Ember). На данный момент у нас нет возможности переопределять их через темы или плагины, но это входит в мой список задач по улучшению.
Я сообщу вам, как только у нас появится решение. Надеюсь, это произойдет в ближайшие пару недель.
@kaden-stytch Теперь в последней версии Discourse можно переопределять шаблоны компонентов в стиле ‘colocated’. Я подготовил документацию по переопределению шаблонов здесь:
Пожалуйста, обязательно прочитайте предупреждения вверху и оцените риски. На мой взгляд, переопределение шаблонов боковой панели в настоящее время особенно рискованно, так как это область, над которой мы активно работаем и проводим рефакторинг.