this.model содержит данные темы, такие как id, title и т. д. Вы можете использовать их.
Например, чтобы разрешить темы с id 90 или 38, напишите:
<script type="text/x-handlebars" data-template-name="connectors/topic-area-bottom/custom-html">
{{#if (or (eq this.model.id 90) (eq this.model.id 38))}}
<div class="banner-control">
<!-- Уникальный HTML-контент размещается здесь -->
</div>
{{/if}}
</script>
Однако я рекомендую использовать Theme CLI и работать с разделёнными файлами.
Добавлять дополнительные условия или логику таким способом будет сложно. Можно было бы использовать registerConnectorClass, но этот метод устарел.
Современный подход — использование renderInOutlet вместе с компонентом Glimmer, например, как в GitHub - discourse/discourse-custom-header-links · GitHub.
Вы упомянули, что хотите рендерить в конкретный outlet:
Шаблон определён здесь. Обратите внимание на this.shouldShow:
https://github.com/discourse/discourse-custom-header-links/blob/main/javascripts/discourse/components/custom-header-links.hbs#L1
Затем вы можете добавить свою логику здесь, чтобы управлять отображением компонента:
https://github.com/discourse/discourse-custom-header-links/blob/main/javascripts/discourse/components/custom-header-links.js#L5-L7
Надеюсь, это поможет. Дайте знать, если потребуется дополнительная помощь. ![]()