إضافة أزرار تسجيل الدخول / الاشتراك إلى HTML مخصص

أنا أستخدم قوالب اللافتات (https://meta.discourse.org/t/banner-themes-and-instructions-for-customizing-them/82368) لعرض محتوى HTML للمستخدمين المجهولين. بشكل أساسي، أشجعهم على إنشاء حساب.

أحاول إضافة زر “تسجيل الدخول” في منتصف المحتوى الخاص بي. بشكل عام، كان الأمر بسيطًا جدًا لإنشاء زر ثم إعادة التوجيه عند النقر إليه إلى .xyz Domain Names | Join Generation XYZ والتعامل معه كإعادة توجيه ويب عادية. [سواء عبر JS / إرسال نموذج بسيط / إعادة توجيه عبر href وما إلى ذلك…]

لقد حاولت التحقق مما إذا كان بإمكاني استخدام طريقة أكثر “أصالة في Discourse” لتنفيذ هذا الإجراء. لقد تابعت عن كثب دليل المطور لقوالب Discourse. في مكان ما بين الودجات (widgets) والتحكم (controllers) والمكونات (components)، واجهت سؤالًا:

ما هي الطريقة الأكثر مباشرة باستخدام JavaScript (داخل سكريبت من نوع “text/discourse-plugin”) لـ “إظهار نافذة تسجيل الدخول”؟ لتكون الأمور واضحة جدًا، أحاول تنفيذ هذا خارج سكريبت Handlebars مثل هذا:

{{d-button action=(route-action “showCreateAccount”) class=“btn-primary sign-up-button” label=“sign_up”}}

في النهاية شيء مثل هذا… أحاول معرفة ما يجب استبداله بالـ عريض أدناه:

<script type="text/discourse-plugin"version=“0.8.18”>
document.getElementById(“showCreate”).onclick = function() {
{{d-button action=(route-action “showCreateAccount”) class=“btn-primary sign-up-button” label=“sign_up”}}
}
</script>

كل ما جربته ألقى أخطاء مختلفة، ولكن معظمها يدور حول عدم فهمه للإجراء “action”. لقد حاولت البحث في Meta، وبينما توجد العديد من الأمثلة حول كيفية إنشاء ودجة جديدة أو وضع هذا في مكان آخر، لم أتمكن من العثور على طريقة للقيام بذلك بشكل أصلي. أي مساعدة ستكون موضع تقدير كبير.

(ملاحظة: لا أقول إن هذه هي أفضل طريقة أو الطريقة الضرورية لجعل هذا يعمل، لكنها ستساعدني بشكل كبير على فهم كيفية ترابط التطبيق بأكمله).

شكرًا لك!

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