بطاقات التحويم للمواضيع

:information_source: الملخص يوفر نوافذ منبثقة تشبه تلميحات الأدوات عند تمرير الماوس فوق (أو النقر على الجوال) روابط المواضيع الداخلية لعرض معاينة سريعة لمحتوى الموضوع المرتبط.
:eyeglasses: المعاينة مستودع GitHub
:hammer_and_wrench: المستودع https://github.com/denvergeeks/discourse-topic-hover-cards
:question: دليل التثبيت كيفية تثبيت سمة أو مكون سمة
:open_book: جديد في سمات Discourse؟ دليل المبتدئين لاستخدام سمات Discourse

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

بطاقات معاينة غنية عند التمرير لـ روابط المواضيع الداخلية عبر المواضيع والردود وقوائم المواضيع وصفحات الفئات الرئيسية وفئات الوثائق ولوحات كانبان والمواضيع المقترحة. متاحة لسطح المكتب و/أو الجوال. قابلة للتكوين على مستوى الموقع بالكامل.


الميزات

  • يمكن تفعيلها على مستوى الموقع لجميع روابط المواضيع الداخلية، أو فقط تلك الظاهرة في منطقة أو أكثر تشمل:
    • جسم الموضوع (المنشور الأصلي)
    • الردود
    • قوائم المواضيع القياسية (/latest، /top، /tags، قوائم مواضيع الفئات، إلخ)
    • قوائم مواضيع الصفحة الرئيسية للفئات (الفئات + الأحدث، فقط الفئات، والتخطيطات ذات الصلة)
    • عروض فئات الوثائق
    • عروض لوحات أسلوب كانبان
    • المواضيع المقترحة
  • تخطيط متجاوب:
    • بطاقة سطح مكتب بكثافة قابلة للتكوين وموضع الصورة المصغرة
    • معاينة من أسفل الشاشة على الجوال مع فتح عند النقر
  • محتوى قابل للتكوين:
    • صورة مصغرة
    • شارة الفئة
    • الوسوم
    • العنوان
    • مقتطف (نظيف من الصور/الصناديق الخفيفة)
    • الناشر الأصلي
    • تاريخ النشر
    • المشاهدات، الردود، الإعجابات، آخر نشاط
  • خيار إلغاء الاشتراك لكل مستخدم باستخدام حقل مستخدم مخصص
  • وضع تصحيح أخطاء خاص بالإدارة فقط لاستكشاف الأخطاء وإصلاحها بأمان
الإعدادات

التخطيط والتوقيت

  • card_width
    أي قيمة عرض CSS (لسطح المكتب)، مثل 32rem، 420px، 40vw، clamp(20rem, 40vw, 36rem).

  • card_max_height
    أي قيمة أقصى ارتفاع CSS، مثل 10rem، 480px، 50vh، min(60vh, 32rem).

  • card_delay_ms
    التأخير قبل إظهار بطاقة التمرير، بالمللي ثانية (الافتراضي: 300).

  • enable_on_mobile
    عند التفعيل، يُظهر النقر على رابط موضوع داخلي مدعوم ورقة معاينة للجوال مثبتة في أسفل الشاشة.

  • mobile_width_percent
    عرض ورقة المعاينة السفلية للجوال كنسبة مئوية من عرض نافذة العرض (الافتراضي: 100).

  • mobile_thumbnail_height
    ارتفاع الصورة المصغرة بالبكسل لمعاينة الجوال.

الكثافة

  • density
    كثافة سطح المكتب: default، cozy، أو compact.

  • density_mobile
    كثافة الجوال: default، cozy، أو compact.

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

الصورة المصغرة والموضع

  • show_thumbnail / show_thumbnail_mobile
    إظهار/إخفاء صورة الموضوع (إن وجدت) على سطح المكتب والجوال.

  • thumbnail_placement
    كيفية وضع الصورة المصغرة على سطح المكتب:

    • top
    • left
    • right
    • bottom
      على الجوال، يتم دائمًا عرض الصورة المصغرة في أعلى البطاقة.
  • image_size_percent
    يتحكم في حجم الصورة المصغرة كنسبة مئوية من حجم بطاقة التمرير المعروضة.

الحقول لكل نافذة عرض

لكل كتلة أدناه، لديك مفاتيح تشغيل/إيقاف لكل من سطح المكتب والجوال:

  • show_category / show_category_mobile

  • show_tags / show_tags_mobile

  • show_title / show_title_mobile

  • show_excerpt / show_excerpt_mobile

  • excerpt_length / excerpt_length_mobile
    عدد الأسطر للمقتطف (يستخدم CSS line-clamp).

  • show_op / show_op_mobile
    يعرض صورة رمزية واسم المستخدم للناشر الأصلي.

  • show_publish_date / show_publish_date_mobile

  • show_views / show_views_mobile

  • show_reply_count / show_reply_count_mobile

  • show_likes / show_likes_mobile

  • show_activity / show_activity_mobile

أين تظهر بطاقات التمرير

  • enable_on_topics
    روابط المواضيع في المنشور الأصلي.

  • enable_on_replies
    روابط المواضيع في الردود.

  • enable_on_topic_lists
    روابط المواضيع في قوائم المواضيع القياسية، مثل /latest، /top، قوائم مواضيع الفئات.

  • enable_on_category_homepage_topic_lists
    روابط المواضيع في قوائم “المواضيع الأحدث” أو ما يعادلها على الصفحة الرئيسية للفئات:

    • الفئات + المواضيع الأحدث
    • فقط الفئات
    • المتغيرات ذات الصلة المعروضة في / أو /categories، اعتمادًا على كيفية تكوين صفحتك الرئيسية.
  • enable_on_doc_categories
    روابط المواضيع في عروض فئات الوثائق (عند الاقتضاء).

  • enable_on_kanban_boards
    روابط المواضيع المعروضة في تخطيطات لوحات أسلوب كانبان (عند الاقتضاء).

  • enable_on_suggested_topic_links
    الروابط في قسم “المواضيع المقترحة”.


إلغاء الاشتراك لكل مستخدم

يمكنك السماح للمستخدمين الفرديين بتعطيل بطاقات التمرير باستخدام حقل مستخدم مخصص. يستخدم هذا آلية إعدادات السمات القياسية ووصول بيانات المستخدم الحالي الموصوفة في أدلة المطورين.

  • user_preference_field_name
    المفتاح المستخدم للكشف عن إلغاء الاشتراك لدى المستخدم الحالي. يمكن أن يكون:
    • مفتاح حقل مخصص مباشر، مثل disable_topic_hover_cards
    • معرف رقمي، مثل 1
    • مفتاح user_field_X، مثل user_field_1

كيفية عمل المطابقة

  1. يتحقق المكون أولاً من custom_fields و user_fields للمستخدم الحالي بحثًا عن:
    • user_preference_field_name المكون
    • نفس القيمة المحولة بين 1 و user_field_1 عند الاقتضاء
  2. إذا لم يتم العثور على تطابق وكان المستخدم الحالي من الموظفين (مدير/مشرف) وتم تمكين
    resolve_user_field_id_for_admins، فإن المكون يستدعي:
    • /admin/config/user-fields.json
      لربط القيمة المكونة (اسم الحقل أو user_field_X) بمعرفه الرقمي.
  3. باستخدام المعرف الرقمي، يتحقق من:
    • user_fields[id]
    • user_fields['user_field_' + id]
    • custom_fields[id]
    • custom_fields['user_field_' + id]

أي قيمة صحيحة في هذه المواضع (مثل 1، true، yes، on، checked) تعطل بطاقات التمرير لذلك المستخدم.

إعدادات لهذا السلوك

  • resolve_user_field_id_for_admins
    عند التفعيل (موصى به)، يمكن للمديرين تكوين الحقل إما بالاسم أو user_field_X، وسيقوم المكون بحل ومطابقة المعرف الرقمي تلقائيًا.

  • debug_mode
    عند التفعيل، يسجل معلومات كشف مفصلة في وحدة تحكم المتصفح للموظفين، بما في ذلك:

    • المفاتيح التي تم التحقق منها
    • المكان الذي تم فيه العثور على تطابق (المستخدم الحالي مقابل سجل المستخدم الكامل)
    • معرف حقل المستخدم الرقمي المحل، إن وجد

تصحيح الأخطاء

إذا لم تظهر بطاقات التمرير حيث تتوقع، استخدم وضع تصحيح الأخطاء المدمج:

  1. قم بتمكين debug_mode في إعدادات هذا المكون.
  2. افتح وحدة تحكم مطوري المتصفح.
  3. مرر الماوس فوق أو انقر على رابط موضوع ذي صلة.

سترى رسائل مشابهة لـ:

  • Hover cards initialized – يؤكد التهيئة والمواقع المفعلة.
  • Resolved admin user-field mapping – يؤكد ربط اسم/مفتاح حقل المستخدم المكون بمعرفه الرقمي (للموظفين).
  • No disable field match found anywhere – يؤكد أن بطاقات التمرير لا يتم كبتها للمستخدم الحالي.

لتصحيح أين يجب أن تظهر البطاقة، تأكد من:

  • أن الرابط المستهدف هو رابط موضوع داخلي (/t/...) يمكن لـ topicIdFromHref() تحليله
  • أن مفتاح الموقع ذي الصلة مفعّل:
    • enable_on_topics
    • enable_on_replies
    • enable_on_topic_lists
    • enable_on_category_homepage_topic_lists
    • enable_on_doc_categories
    • enable_on_kanban_boards
    • enable_on_suggested_topic_links

الإعدادات والميزات المخططة التي لم تُضف بعد:

  • الوسوم المستبعدة
  • الوسوم المدرجة
  • الفئات المستبعدة
  • الفئات المدرجة
  • استبعاد OneBoxes وغيرها افتراضيًا
  • اقتراحات؟؟
6 إعجابات

هل يمكنك إضافة رابط معاينة يعمل أو بعض لقطات الشاشة لإظهار مظهر هذا؟

9 إعجابات