نموذج الاتصال

:information_source: ملخص يضيف نموذج اتصال إلى أعلى أي موضوع تم وضع علامة contact عليه. سيتم إرسال المعلومات المقدمة عبر النموذج إلى المجموعة أو الفئة المكونة لتلقيها.
:hammer_and_wrench: رابط المستودع \u003chttps://github.com/jericson/discourse-contact-plugin\u003e
:open_book: دليل التثبيت كيفية تثبيت الإضافات في Discourse

الميزات

عند تمكين إضافة نموذج الاتصال، فإنها تضع نموذج اتصال في أعلى أي موضوع تم وضع علامة contact عليه. يتم إرسال البيانات المقدمة عبر النموذج إلى فئة أو مجموعة تم تكوينها لتلقي البريد من contact_form_email.[1] مثل نماذج الاتصال التقليدية، لا يوجد شرط للحصول على حساب على الموقع لتقديم الطلب.

إليك ما قد يراه الزائر:

لاحظ أن هذا منشور عادي يمكن أن يحتوي على أي تعليمات قد ترغب في تضمينها في النص الأساسي.[2] حاليًا، أسماء الحقول مرمزة بشكل ثابت ولا يتم إجراء أي تحقق فعلي، ولكن انظر قسم TODO أدناه. بعد إرسال الرسالة، ستظهر في موجز رسائل المجموعة المكونة:

اعتمادًا على كيفية تكوين إشعارات البريد الإلكتروني الخاصة بهم، قد يتلقى أعضاء المجموعة المكونة أيضًا بريدًا إلكترونيًا من Discourse:

التكوين

لاستخدام هذه الإضافة، يجب عليك تكوين البريد الوارد لإنشاء مواضيع جديدة أو رسائل جماعية. ليس من الضروري إعداد الرد عبر البريد الإلكتروني لأن الإضافة لا ترسل بريدًا إلكترونيًا فعليًا. إنها تختطف واجهة برمجة التطبيقات لمحاكاة البريد الوارد. (ومع ذلك، فإن الرد عبر البريد الإلكتروني ميزة مفيدة!)

على وجه الخصوص، تتطلب هذه الإضافة:

  • email_in و
  • enable_staged_users

ليتم تمكينها.

بمجرد تمكينها، سيتم إضافة نموذج اتصال إلى منفذ الإضافة topic-above-posts لأي موضوع تم وضع علامة contact عليه.

الإرسال إلى مجموعة

نظرًا لأن الأشخاص سيستخدمون هذا النموذج لتقديم معلوماتهم الشخصية، فإن إرسال النتائج إلى مجموعة مغلقة هو الخيار الأكثر أمانًا.

  1. قم بإنشاء مجموعة جديدة للأشخاص الذين سيتعاملون مع جهات الاتصال. (عادة ما أسميها “Contact” للتبسيط، ولكن يمكن أن تكون أي شيء بما في ذلك مجموعة موجودة.)
  2. أضف أعضاء سيستقبلون معلومات الاتصال.
  3. لا تحدد أيًا من خيارات الوصول. يجب أن تكون هذه مجموعة مغلقة.
  4. قم بتغيير رؤية المجموعة حسب ما هو مناسب لمؤسستك.
  5. قم بتعيين “عنوان البريد الإلكتروني الوارد المخصص” ليكون نفس إعداد contact_form_email. (افتراضيًا، هذا هو “contact@example.com”.)

الإرسال إلى فئة

من الممكن أيضًا الإرسال إلى فئة باستخدام إعداد الفئة “عنوان البريد الإلكتروني الوارد المخصص”. تأكد من تمكين “قبول رسائل البريد الإلكتروني من المستخدمين المجهولين الذين ليس لديهم حسابات” أيضًا.

ومع ذلك، لا يُنصح بالإرسال إلى فئة لمعلومات الاتصال! إذا تغيرت أذونات الوصول على الفئة عن طريق الخطأ، فقد يؤدي ذلك إلى كشف المعلومات الشخصية لأشخاص (أو محركات بحث) لا ينبغي لهم الوصول إليها. من غير المرجح حدوث ذلك إذا تم إرسال جهات الاتصال إلى رسائل جماعية بدلاً من ذلك.

تحديد من يمكنه إضافة نماذج اتصال

قد يكون من الغريب أن تظهر نماذج الاتصال في كل مكان، لذلك قد ترغب في تحديد من يمكنه استخدام علامة contact. للقيام بذلك، قم بإنشاء مجموعة علامات جديدة:

  1. من صفحة /tags، حدد مفتاح الربط في الزاوية العلوية اليمنى.
  2. حدد “إدارة مجموعات العلامات” ثم حدد " :heavy_plus_sign: مجموعة جديدة".
  3. املأ اسمًا مناسبًا (على سبيل المثال، “الموظفون فقط”)، وأضف علامة contact وحدد “العلامات مرئية للجميع، ولكن المجموعات التالية فقط يمكنها استخدامها”.
  4. اختر المجموعة التي تريد السماح لها بإضافة نموذج اتصال (عادةً “staff” أو “admins”) واحفظ مجموعة العلامات.

سجل التغييرات

  • 25 أبريل 2024: إصدار ألفا.

TODO

  • أود إعداد اختبارات للتأكد من عدم تعطل أي شيء عند إجراء تغييرات. أرغب بشكل خاص في التحقق من أن الأشخاص الذين ليس لديهم حسابات يمكنهم تقديم بياناتهم.
  • أثناء الاختبار، اكتشفت تسربًا كبيرًا للبيانات. قمت بإزالة هذا الثغرة الأمنية المعينة، ولكن يمكنني حقًا استخدام بعض المساعدة في الاختبار.
  • النموذج لا يقوم بأي تحقق. الشرط الوحيد الحقيقي هو أن يبدو حقل البريد الإلكتروني كبريد إلكتروني. إذا ترك شخص ما استجابة دون إضافة بريد إلكتروني، يفشل النموذج بصمت.
  • لا يوجد حماية ضد البريد العشوائي أو الإساءة.
  • الكود هو إلى حد كبير بجودة my-first-plugin بناءً على أمثلة استخدمت اصطلاحات قديمة. أي اقتراحات حول الأسلوب مرحب بها.
  • أحب أن يكون نموذج الاتصال مرتبطًا بموضوع تم وضع علامة “contact” عليه، ولكنه معقد وغير ضروري على الأرجح. أفكر في إضافة مسار جديد هو مجرد نموذج الاتصال للتبسيط.
  • يتم تخزين بيانات الاتصال في قاعدة البيانات، ولكن قد يكون من المفيد وجود لوحة تحكم للمسؤول لرؤية قائمة جهات الاتصال.
  • النموذج ثابت لمتطلباتي الحالية، ولكن سيكون من المفيد وجود بعض المرونة بشأن الحقول التي يطالب بها.

  1. هذا الإعداد افتراضيًا على “contact@example.com” ولكنه يمكن تكوينه لقبول رسائل البريد الإلكتروني الحقيقية. ↩︎

  2. من الممكن حتى الرد على نموذج الاتصال، للأفضل أو للأسوأ. ↩︎

13 إعجابًا

هذا لا يعمل. هل يمكنك تحديث @jericson

يعمل بالنسبة لي.

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

هذا ليس سمة، بل هو إضافة. انظر Install plugins on a self-hosted site.

5 إعجابات

تم تثبيته. أضفت بريدي الإلكتروني إلى contact_form_email، ومكّنت email_in، وأضفت 'everyone' في email في المجموعات المسموح بها، ومكّنت enable_staged_users. جربت النموذج، لا، لم أتلق أي بريد إلكتروني.

إعجابَين (2)

صفقة جيدة! قد يساعد القراء المستقبليين معرفة ما الذي حل المشكلة بالنسبة لك.

لستُ أثبت المكون الإضافي كموضوع، على ما أعتقد :wink:

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

هل يمكنك نشر بعض لقطات الشاشة للمكون الإضافي أثناء العمل؟ هل يمكن تعديل/تكوين “نموذج الاتصال”؟

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

بالتأكيد! انظر المنشور المعدل.

للأسف لا. ولكن طلبات السحب مرحب بها!

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

ملحق رائع جدًا. عنوان البريد الإلكتروني المزيف لا يظهر للمستخدم النهائي، على ما أفترض.

صحيح. لدي مكون إضافي آخر (أكثر خشونة من هذا) للحصول على مراجعات مجهولة. أستخدم review@example.com لتوجيه تلك الرسائل إلى الوجهة الصحيحة. إنها مجرد سلسلة نصية.

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