Возможно ли вставить заголовок H2 в область тегов? Заголовок H2 должен содержать название тега.
Я не могу использовать компонент баннера тегов, потому что H2 находится не сбоку от правой боковой панели, а выше.
Напишите код для решения вашей задачи. Вот простое решение для вас. Попробуйте, оно должно сделать то, что вы хотите
<script type="text/x-handlebars" data-template-name="/connectors/discovery-list-controls-above/tag-h2">
<h2>
{{#if h2_tag}}
{{h2_tag}}
{{/if}}
</h2>
</script>
<script type="text/discourse-plugin" version="0.8">
api.registerConnectorClass("discovery-list-controls-above", "tag-h2", {
setupComponent(args, component) {
if (window.location.pathname?.startsWith("/tag/"))
component.set("h2_tag", /\/tag\/([^?]+)/.exec(decodeURI(window.location.pathname)).at(1));
},
});
</script>
О, большое спасибо!! Это работает для первого тега, на который я нажимаю, но если я перейду к другому тегу, h2 не меняется.
Ой, извините, это моя проблема. Я внес некоторые исправления
<script type="text/x-handlebars" data-template-name="/connectors/discovery-list-controls-above/tag-h2">
<h2>
{{#if h2_tag}}
{{h2_tag}}
{{/if}}
{{log this}}
</h2>
</script>
<script type="text/discourse-plugin" version="0.8">
api.registerConnectorClass("discovery-list-controls-above", "tag-h2", {
setupComponent(args, component) {
function getTagNameFromURL(url) {
return /\/tag\/([^?]+)/.exec(decodeURI(url)).at(1)
}
if (window.location.pathname?.startsWith("/tag/"))
component.set("h2_tag", getTagNameFromURL(window.location.pathname));
api.onPageChange(url => component.set("h2_tag", getTagNameFromURL(url)))
},
});
</script>