Tagsname كـ H2

هل من الممكن إدراج عنوان 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>
إعجابَين (2)

أوه شكراً جزيلاً لك!! إنها تعمل مع العلامة الأولى التي أنقر عليها ولكن إذا انتقلت إلى علامة أخرى، فلن يتغير العنوان 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>
إعجاب واحد (1)