مكونات مخصصة -- إضافة زر أو نص في أي منفذ إضافي (outlet) للمكون الإضافي

:information_source: ملخص أضف زرًا أو نصًا في أي مكان
:hammer_and_wrench: المستودع https://github.com/literatecomputing/discourse-custom-components
:question: دليل التثبيت كيفية تثبيت سمة أو مكون سمة
:open_book: جديد في سمات Discourse؟ دليل المبتدئين لاستخدام سمات Discourse

تثبيت مكون السمة هذا

أضف زر رابط أو نصًا عشوائيًا في أي منفذ للمكون الإضافي. (تجاهل العلامات المائية في الصور - لقد التقطت لقطات الشاشة هذه على موقع تجريبي/اختبار.)

لمعرفة أماكن وجود منافذ المكونات الإضافية، استخدم Introducing Discourse developer toolbar للعثور عليها. إذا لم تكن تعرف ما هو منفذ المكون الإضافي، يمكنك إلقاء نظرة على https://meta.discourse.org/t/using-plugin-outlet-connectors-from-a-theme-or-plugin/32727، ولكن هذا المكون يسمح لك، مع بعض القيود، بلصق نص في أي منفذ مكون إضافي دون برمجة أو فهم حقيقي لما هو منفذ المكون الإضافي.

بدأت في تطوير هذا المكون الإضافي لشخص أراد عرض زر “انقر فوق هذا الزر للاشتراك حتى تتمكن من إرسال رسائل خاصة” على ملفات تعريف المستخدمين وبطاقات المستخدمين. أرادوا أن يظهر الزر إذا لم يتمكن المستخدم من إرسال رسائل خاصة. نظرًا لأنني لست دائمًا ذكيًا كما أعتقد، فقد كتبت المكون باستخدام المجموعات لتحديد متى يتم عرض الزر. كانت إحدى مشكلات هذا النهج هي أن الموظفين لم يكونوا في مجموعة المشتركين، لذلك سيحصلون على زر “عليك الاشتراك” على الرغم من أنهم يستطيعون إرسال رسائل خاصة. بالإضافة إلى ذلك، كانت المجموعة مخفية، لذلك كان من المستحيل استخدامها في مكون سمة على أي حال. لقد أعدت كتابة مكون السمة هذا لاستخدام currentUser.can_send_private_messages لتحديد ما إذا كان سيتم عرض الزر.

لمن هذا؟

إذا كنت تريد وضع زر به رابط، أو بعض النصوص العشوائية التي يتم عرضها أو إخفاؤها لمجموعات معينة، فهذا سيسمح لك بإدراجها في أي منفذ مكون إضافي. هل تريد إضافة زر رابط “يجب عليك الاشتراك” بين كل رسالة باستثناء تلك التي ليست أعضاء؟ هذا سيفعل ذلك. هل تريد لصق أي HTML في منفذ مكون إضافي، فقط لمعرفة كيف سيبدو؟ هذا سيفعل ذلك.

كيف يساعد المطورين

تحتوي هذه السمة على بعض الأمثلة البسيطة لكيفية:

ولكن إذا كنت تحاول القيام بذلك داخل \u003ctemplate\u003e داخل ملف .gjs، فإنه يعمل بشكل مختلف قليلاً (مثل {{htmlSafe component.text}})

15 إعجابًا

تؤدي المسافة إلى جعل النص غير عريض.


مكون رائع!

5 إعجابات

هل سيكون من الممكن إضافة عناصر نائبة إلى عناوين URL للأزرار، على سبيل المثال، لكي يحتوي عنوان URL على معرف الموضوع الذي يوجد به المستخدم؟

لست متأكدًا تمامًا. إذا كانت لديك ميزانية، فسألقي نظرة.

ماذا سيفعل زرّك إذا كان لديه معرف الموضوع؟

إذا اكتشفت الأمر وأردت تقديم طلب سحب، فمن المحتمل أن أقبله.

أنا متأكد إلى حد كبير أن الإجابة هي لا، ولكن يمكنك استخدام الحل البديل الموضح هنا

إعجابَين (2)

مرحباً @pfaffman

نريد إضافة مجموعة أزرار كهذه إلى كل موضوع للمستخدمين في مجموعة حسابات أعمالنا.
سيؤدي الزر بعد ذلك إلى إنشاء رسالة خاصة جديدة تتضمن عنوان URL الحالي الذي يتواجد عليه المستخدم.

بهذه الطريقة يمكن لعملائنا من قطاع الأعمال إرسال طلبات إلينا لتثبيت مواضيع معينة أو تمييزها أو “رعايتها”.

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

كما تعرف، يمكنك إنشاء عنوان URL يفتح منشئ موضوع جديد. يمكنك جعل هذا هو الرابط الذي يضيفه مكون السمة.

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

3 إعجابات