لافتات الإشعارات

:information_source: ملخص يوفر مكون السمة Notification Banners طريقة قابلة للتخصيص ومرنة لمشاركة الرسائل على موقعك.
:eyeglasses: معاينة Theme Creator
:hammer_and_wrench: المستودع https://github.com/gormus/discourse-notification-banners
:question: دليل التثبيت كيفية تثبيت سمة أو مكون سمة
:open_book: جديد في سمات Discourse؟ دليل المبتدئين لاستخدام سمات Discourse

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

يوفر مكون السمة Notification Banners طريقة قابلة للتخصيص ومرنة لمشاركة الرسائل على موقعك.

فيما يلي بعض الميزات الرئيسية:

  • قابلة للتخصيص بالكامل: قم بتخصيص كل لافتة لتناسب احتياجاتك، بما في ذلك المحتوى والنمط والسلوك.
  • خيارات عرض مرنة: اعرض اللافتات مكدسة أو كدوار دوار لسهولة التصفح.
  • رسائل مستهدفة: اعرض اللافتات لمجموعات مستخدمين محددة فقط، مما يضمن التواصل الشخصي.
  • دعم السمات: تتكيف اللافتات تلقائيًا مع السمات الفاتحة أو الداكنة، أو يمكنك تعيين ألوان مخصصة.
  • دعم Markdown: استخدم Markdown لتنسيق رسائل اللافتات الخاصة بك بسهولة.
  • دوار مدعوم بـ Splide: يتم تشغيل ميزة الدوار بواسطة مكتبة JavaScript Splide، مع إعدادات فردية لكل لافتة.
  • الجدولة: حدد تواريخ بدء وانتهاء محددة لوقت ظهور اللافتات.
  • ترتيب عرض سهل: تحكم في الترتيب الذي تظهر به اللافتات باستخدام إعدادات بسيطة.

يجعل هذا المكون من السهل جذب جمهورك بإشعارات جذابة وشخصية ومنظمة بشكل جيد.

التثبيت

  1. اتبع التعليمات الرسمية لإضافة مكون السمة هذا إلى السمة الخاصة بك:
    https://meta.discourse.org/t/beginners-guide-to-using-discourse-themes/91966#add-theme-components-to-a-theme-9

  2. قم بتغيير إعداد theme authorized extensions لتضمين امتدادات ملفات css و js.

الميزات

قد تحتوي كل لافتة إشعار على الميزات التالية:

  • العنوان، اختياري، يتم عرضه كعنوان H2 فوق الرسالة
  • الرسالة، رسالة إشعار بسيطة بطول 500 حرف. يدعم Markdown.
  • الجمهور، حدد مجموعات المستخدمين كجمهور للإشعار.
  • الفئات؛ حدد الفئات لعرض اللافتة عليها. اتركها فارغة للعرض على جميع الفئات.
  • لون الخلفية، يمكن تعيينه للتمييز بين اللافتة وغيرها.
  • منفذ المكون الإضافي، قم بتعيين الإشعارات فوق رأس الموقع أو أسفله، أو استخدم منفذ top-notices للعرض مع لافتات الموضوع الأصلية.
  • العرض في دوار، عند تحديده، يتم عرض جميع اللافتات في كل منفذ في دوار. يتطلب حدًا أدنى من اللافتات 2 ليتم تحديدها لأي منفذ.
  • يمكن تجاهلها، عند تحديدها، سيتمكن المستخدمون من تجاهل اللافتة، وسيتم إخفاؤها لهم.
  • تواريخ البدء والانتهاء، عند تحديدها، تخضع رؤية اللافتة لهذه التواريخ. لذلك يمكنك تعيين لافتة مسبقًا، ولكنها ستصبح مرئية للجمهور المحدد فقط في التاريخ والوقت المحددين؛ أو يمكنك بنفس الطريقة إزالة اللافتة تلقائيًا حسب آخر تاريخ يجب عرضها فيه.
  • ترتيب العرض، حدد اللافتة التي يجب عرضها في الأعلى، والتي يجب أن تكون في الأسفل. اعتبارًا من الإصدار 1.3.0، باستخدام أزرار إعادة الترتيب الأصلية.

الدوار

يتم توفير وظيفة الشرائح، أو الدوار، بواسطة مكتبة Splide؛ وهي مرخصة بموجب MIT.

يمكن تكوين كل دوار على صفحة مكون السمة باستخدام خيارات Splide.

ألوان اللافتات

افتراضيًا، ستستخدم اللافتات نفس ألوان banner-topic:

.notification-banner {
    background: var(--tertiary-low);
    color: var(--primary);
}

ومع ذلك، عند تحديد لون خلفية في إعدادات اللافتة، اعتمادًا على سطوعها، يتم تلقائيًا تحديد اللون الأسود أو الأبيض كلون أمامي.

فئات CSS المتاحة

.notification-banners--above-site-header,
.notification-banners--below-site-header,
.notification-banners--top-notices {

  .notification-banner {

    &__wrapper {
    }

    &__close {
    }

    &__header {
    }

    &__content {
    }
  }

  &.splide {
    .notification-banner {
    }
  }
}

.notification-banners--top-notices {
  .notification-banner {

    &__content {
    }
  }
}

الإصدار 1.3.0 له تغييرات جذرية (للبعض)

لا تنس اختبار التغييرات، والتحقق من تخصيصاتك قبل تحديث مواقع الإنتاج الخاصة بك.

28 إعجابًا

رائع! هذا يبدو مذهلاً ومرنًا للغاية.

هل فكرت في إمكانية تقييده بفئة / فئات؟

9 إعجابات

شكرا لك!

في الواقع، كنت أفكر في تضمين ما فعلته سابقًا مع مكون السمة الخاص بي Filtered Topic Lists؛ انظر قسم “Show on”.

كنت قلقًا من أن ذلك قد يجعله أكثر تعقيدًا، ولهذا السبب لم أدرج هذا الخيار. بدلاً من ذلك، اخترت استخدام مجموعات المستخدمين كجمهور للشعارات.

لكنني سأكون سعيدًا بتضمينه إذا كانت هناك حاجة لذلك.

5 إعجابات

رائع جداً @gormus، شكراً لمشاركتك هذه المكونات مع المجتمع. :discourse: :clap:

3 إعجابات

شكرا لك @Lilly ، إنه لمن دواعي سروري : )

3 إعجابات

عندما أنقر على زر X لإغلاق هذا النافذة المنبثقة، هل هناك أي وضع لجعلها تظهر مرة أخرى؟ لقد حددت في خلفية النافذة المنبثقة تكرار: تكرار؛ تكرار-س؛ تكرار-ص ولكنها لا تعمل؟

إعجابَين (2)

عظيم! سأقوم بتجربته في العالم الحقيقي وأرى ما إذا كان مطلوبًا بالفعل أم لا قبل أن أزعجك بشأنه.

4 إعجابات

حاليًا لا. لم أفكر في أن أي مستخدم قد يرغب في استعادة إشعار تم تجاهله.
هل تعتقد أنه يجب أن يكون هناك خيار لذلك؟

هل يمكنك توضيح ما تقصده؟

إعجابَين (2)

أرى ما تقصده، شكراً لك!

3 إعجابات

أنا مهتم بهذه الميزة أيضًا (متاحة لفئات معينة). شكراً لك على النظر.

4 إعجابات

الفئات مدعومة الآن كجمهور مستهدف. يمكن تحديد فئة واحدة أو فئات متعددة لكل لافتة.

يرجى إعلامي برأيك :slight_smile:

5 إعجابات

تعمل صفحة Discourse الخاصة بي حاليًا بالإصدار 3.4.0.beta3-dev وتظهر خطأ لا يعرض الصفحة عند تثبيت اللافتة. يمكنك التحقق مرة أخرى والحصول على تحديثات مبكرة للمجتمع. شكرا لمشاركتك.

إعجابَين (2)

مرحباً @hoangphuctran93،

شكراً لك على الإبلاغ عن المشكلة، لقد تمكنت من تأكيدها عبر تثبيت نظيف لـ Notification Banners على Discourse 3.4.0.beta3-dev (d3f09f8f61)

لقد قمت للتو بنشر إصلاح، يرجى تحديث المثيل على موقعك، وقم بتحديث الصفحة بشكل كامل إذا لزم الأمر.

إعجابَين (2)

شكرا لك، لقد عملت بشكل جيد، أتطلع إلى أفكارك وتحديثاتك الجديدة. لدي بعض الاقتراحات على النحو التالي.

  1. توسيع مربع الإدخال
  2. السماح بالاختيار السريع للصور بالإضافة إلى التصميم باستخدام HTML.
  3. إضافة حقل بيانات لتسمية اللافتة بدلاً من استخدامها مع العنوان، هذا يساعد في التصنيف والإدارة عند تطبيق لافتات متعددة.

هذه هي نتيجة التطبيق على صفحة discourse الخاصة بنا.

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

أواجه مشكلة في هذا الجزء - الرابط معطل هنا. كيف يمكنني تفويض هذه الامتدادات على موقعي؟

شكرا!

تحتاج إلى استبدال meta.discourse.org بعنوان URL الخاص بمنتدى الخاص بك. لا يمكنك الوصول إلى منطقة المسؤول هنا.
https://meta.discourse.org/admin/site_settings/category/files?filter=theme%20authorized%20extensions

أو يمكنك الانتقال إلى إعدادات موقعك والبحث عن theme authorized extensions

5 إعجابات

نعم، شكراً لك :slight_smile:

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

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

يمكنك تمكين لافتة لتبدأ في الظهور في تاريخ ووقت محددين، وإزالتها في وقت آخر.

لذلك يمكنك فقط الحصول على جدول زمني واحد لتاريخ ووقت البدء والانتهاء.

ما تطلبه يتطلب ميزة جدولة أكثر تفصيلاً لا توفرها لافتات الإشعارات.

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

أوصي بشدة باختبار هذا السيناريو قبل الانتقال إلى بيئة الإنتاج.

وتذكر، بغض النظر عن المنطقة الزمنية التي تتواجد فيها، يجب إدخال قيم التاريخ والوقت بتنسيق UTC، ويجب أن تتطابق مع التنسيق الموضح في أوصاف الحقول.

4 إعجابات

شكرا على المدخلات!

كنت آمل في حل أكثر آلية هنا، حيث لدينا 3 جلسات مختلفة لساعات العمل المكتبية في الأسبوع، كل أسبوع، لذلك سيكون هناك قدر كبير من العمل اليدوي لإنشاء لافتات مكررة لجميع هذه الجلسات.

لقد نظرت إلى المكون الإضافي للأتمتة كخيار آخر، ولكن أتمتة اللافتات تسمح أيضًا بـ “نقطة زمنية” فقط، وليس إجراءات “متكررة”.

إعجابَين (2)