زر الاشتراك لا يظهر بعد الآن مع decorateWidget

مرحباً! يبدو أن زر “تسجيل” الذي قمنا بإعداده بجوار زر “تسجيل الدخول” لم يعد يظهر، وأرى خطأ في وحدة التحكم يقول “[اسم السمة] decorateWidget: تعذر العثور على الأداة ‘header-buttons’ في السجل”

الطريقة التي تمت بها إضافة هذا الزر حتى الآن، على حد علمي، كانت عبر تخصيص → السمات مع نص برمجي مثل هذا:

<script type="text/discourse-plugin" version='0.8.12'>
api.decorateWidget('header-buttons:after', function (helper) {
    if (!api.getCurrentUser()) {
        return helper.attach('link', {
            href: 'https://www.bassbuzz.com/account/signup',
            rawLabel: 'Sign Up',
            className: "btn btn-primary btn-small login-button"
        });
    }
});
</script>

لقد قرأت بعض المواضيع المشابهة مثل هذا https://meta.discourse.org/t/add-button-in-header-for-logged-in-users/276704/3، ولكنني دائمًا ما أحصل على خطأ “header-icons” غير موجود في السجل.

لقد جربت هذا أيضًا وكانت النتيجة نفسها:

<script type="text/discourse-plugin" version='0.8.12'>
  api.decorateWidget('header-buttons:after', helper => {
    if (!api.getCurrentUser()) {
      return helper.h('li', [
        helper.h('a.btn.btn-primary.btn-small.login-button', {
          href: 'https://www.bassbuzz.com/account/signup'
        }, 'Sign Up')
      ]);
    }
  });
</script>

لقد نظرت أيضًا في التوثيق هنا: https://meta.discourse.org/t/beginners-guide-to-developing-discourse-themes/93648، ولكن لا يبدو أنني أستطيع معرفة ما الذي أفتقده.

هل هناك إعداد قد يمنع الكود أعلاه من العمل؟ لقد عمل من قبل، ولست متأكدًا متى توقف عن العمل. هل لدى أي شخص أي نصيحة؟ شكراً جزيلاً مقدماً!

مرحباً @Andreea_Pomirleanu :wave: أهلاً بك في ميتا :slight_smile:

تم إيقاف decorateWidget لمكونات Glimmer. انظر هنا للمعلومات:

\u003chttps://meta.discourse.org/t/upcoming-post-menu-changes-how-to-prepare-themes-and-plugins/341014\u003e

انظر أدناه للرابط الصحيح (شكراً RGJ)

إعجاب واحد (1)

إنه في موضوع مختلف، Upcoming Header Changes - Preparing Themes and Plugins

إعجاب واحد (1)

مرحباً @RGJ شكراً جزيلاً على الرد السريع! سأبدأ بالقراءة وسأعود إليك إذا كانت لدي أسئلة أخرى.