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

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

الميزات

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

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

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

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

التكوين

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

على وجه التحديد، تتطلب هذه الإضافة:

  • تفعيل email_in و
  • تفعيل enable_staged_users

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

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

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

  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: الإصدار التجريبي (Alpha).

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)

لقد قمت مؤخرًا بتحديث الإضافة لأنها كانت تفشل في إصدارات ديسكورش الحديثة.

4 إعجابات