Проблемы с добавлением HTML через компонент темы

Когда я вставляю код, виджет отображается на главной странице сайта. Как сделать так, чтобы он появился в одной из категорий или страниц сайта, а не на главной?

Привет! Не могли бы вы прислать скриншот или видеозапись экрана с проблемой?
Спасибо!


Если я помещаю код в секцию head, он отображается в верхней части главной страницы. Секция body позволяет ему отображаться в нижней части главной страницы. Как мне сделать так, чтобы виджет отображался на другой странице, а не на главной? Спасибо.

Привет, @Issa_George. Рекомендую пройти туториал по ссылке, чтобы познакомиться с концепциями и техниками, необходимыми для разработки тем. В нём рассматривается, как отображать контент в различных частях интерфейса:

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

Как уже сказал Дэвид, вам стоит следовать этому руководству, чтобы научиться создавать компонент, который можно отображать в различных местах — в частности, в точках расширения (plugin outlets), которые разбросаны по всему сайту и служат местами для рендеринга компонента.

Вы можете разместить код во вкладке «JS» и связать его с api.renderInOutlet() и тегом <template>.

Привет, Нейт, я всё ещё не могу справиться с этим. Я просто хочу разместить код HTML-виджета в разделе категории, а не на главной странице. Я прочитал руководство, но мне не совсем понятно, что именно мне нужно использовать. Я установил CLI, но код, который я вставил, никак не отразился на моём сайте. Затем я зашёл на сайт конструктора тем, и мой код не появился в предпросмотре. Пример кода из руководства работает, и я вижу изменения цвета, когда вставляю его.

Привет! Можешь поделиться текущим кодом, который ты используешь? Спасибо!

Вам следует использовать плагин-аутлет и компонент Glimmer. Ознакомьтесь с последними руководствами по разработке тем.

Или поместите тег script во вкладку , а другой фрагмент кода — во вкладку JS (и импортируйте вспомогательные функции там).

Спасибо. У меня получилось.