لافتة متعددة الاستخدامات

:discourse2: ملخص يضيف اللافتة متعددة الاستخدامات لافتة قابلة للتخصيص إلى موقعك.
:eyeglasses: معاينة معاينة في منشئ سمات Discourse
:hammer_and_wrench: رابط المستودع https://github.com/discourse/discourse-versatile-banner
:open_book: جديد في سمات Discourse؟ دليل المبتدئين لاستخدام سمات Discourse

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

الميزات

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

فيما يلي أبرز الميزات:

  • تحديد العرض للمستخدمين المسجلين أو المستخدمين المجهولين
  • تحديد العرض ليكون حصريًا على الأجهزة المحمولة أو سطح المكتب
  • تحديد العرض لصفحات معينة
  • خيارات قابلة للإغلاق، قابلة للتوسع، ومرئية دائمًا
  • خيار عرض بعرض المتصفح الكامل
  • إدارة الألوان
  • تخصيص العناوين والأعمدة باستخدام HTML (انظر أدناه للمزيد)
  • خيار الحالة المستمرة (انظر أدناه للمزيد)

تخصيص محتوى لافتتك

ينقسم محتوى اللافتة إلى العنوان الرئيسي والأعمدة. يمكنك أن يكون لديك ما يصل إلى 5 أعمدة في لافتتك، ومع ذلك، فإن العدد الموصى به هو 3 أو أقل بسبب قيود العرض. تتوفر قوالب HTML ويمكن تخصيصها لتلبية احتياجاتك الفردية. يمكنك أيضًا التحكم في عرض كل عمود وإضافة أي صورة أو أيقونة Font Awesome تريدها في أعلى كل عمود.

استخدام خيار الحالة المستمرة

سيعتمد خيار الحالة المستمرة على ما يصل إلى ملفي تعريف ارتباط (كوكيز). ستحتوي ملفات تعريف الارتباط هذه على اسم لللافتة وقيمة true/false تتعلق بحالة اللافتة. إذا كانت لديك أي مخاوف بشأن استخدام ملفات تعريف الارتباط على موقعك، فمن الأفضل تجنب استخدام هذا الإعداد. اختيار خيار زمني نسبي لإعداد cookie_lifespan سيضمن بقاء اللافتة مغلقة/موسعة/مغلقة لمدة ذلك الوقت بعد ضغط المستخدم على الزر المناسب. بدون هذا الإعداد، يتم إعادة تعيين اللافتة مع كل تحميل كامل للصفحة. إذا قمت بإجراء تغيير على اللافتة وتريد التأكد من أن جميع المستخدمين يرون هذه التغييرات، حتى أولئك الذين أغلقوا اللافتة سابقًا، فتأكد من تغيير “اسم ملف تعريف الارتباط”. سيؤدي ذلك في الأساس إلى إعادة تعيين أي حالة مستمرة، ثم السماح للمستخدم بإغلاق اللافتة مرة أخرى.

الإعدادات

الاسم الوصف
show for members عرض اللافتة للمستخدمين المسجلين في المنتدى
show for anon عرض اللافتة للمستخدمين المجهولين
display on mobile عرض اللافتة على الأجهزة المحمولة
display on desktop عرض اللافتة على أجهزة سطح المكتب
display on homepage عرض اللافتة على الصفحة الرئيسية
url must contain أدخل المسارات التي يجب أن تعرض اللافتة. أضف * في نهاية المسار كعلامة جامدة
dismissible السماح للمستخدمين بإغلاق اللافتة
collapsible السماح للمستخدمين بتوسيع اللافتة وطيها
default collapsed state حالة الطي الافتراضية عند تفعيل إعداد collapsible
cookie lifespan عمر ملف تعريف الارتباط المستخدم لتذكر ما إذا كانت اللافتة قد أُغلقت أو مُدّت أو طُويت. إذا تم تعيينه على “none”، فلن يتم استخدام أي ملفات تعريف ارتباط مع هذا المكون، وسيتم حذف أي ملفات تعريف ارتباط سابقة تم إنشاؤها تتعلق باللافتة في المرة التالية التي يقوم فيها المستخدم بتحميل صفحة كاملة. تُقاس القيم بوحدة واحدة، لذا فإن تعيين “year” سيكون عامًا واحدًا، و"week" سيكون أسبوعًا واحدًا، وهكذا.
cookie name عند إجراء تغييرات مهمة على اللافتة، يجب عليك تغيير اسم ملف تعريف الارتباط لضمان رؤية جميع المستخدمين للتغييرات.
full width banner عرض اللافتة بعرض المتصفح الكامل
swap default positioning إذا كان هناك مكون آخر مرتبط باللافتة نشطًا، فاستخدم هذا لتبديل موضعه مع لافتة Versatile Banner
plugin outlet يضعها أسفل-site-header فوق الشريط الجانبي، وabove-main-container يضعها فوق المحتوى بجانب الشريط الجانبي
banner background image عنوان URL المصدر لصورة الخلفية الخاصة بك. نصيحة: يمكنك رفع صورة إلى سمة رئيسية واستخدام الرابط منها، ولكن تأكد من عدم استخدام قسم “Uploads” في هذا المكون. سيتم حذف أي رفعات مضافة إلى هذا المكون عند تحديثه.
banner background image dark عنوان URL المصدر لصورة الخلفية عند اكتشاف وضع النظام المظلم.
background color يُستخدم بدلاً من صورة الخلفية
background color dark يُستخدم بدلاً من صورة الخلفية عند اكتشاف وضع النظام المظلم.
primary text color لون النص الرئيسي لللافتة
primary text color dark لون النص الرئيسي لللافتة عند اكتشاف وضع النظام المظلم
secondary text color لون نص الأيقونة وعناوين النصوص، ولون خلفية الزر.
secondary text color dark لون نص الأيقونة وعناوين النصوص، ولون خلفية الزر عند اكتشاف وضع النظام المظلم.
link text color لون نص الروابط داخل اللافتة
link text color dark لون نص الروابط داخل اللافتة عند اكتشاف وضع النظام المظلم.
الترجمة الافتراضي
close.title إغلاق اللافتة
close.label إغلاق
toggle.title توسيع/طي اللافتة
toggle.collapse_label طي
toggle.expand_label توسيع

:discourse2: مستضاف بنا؟ تتوفر مكونات السمات للاستخدام في خطط Pro و Business و Enterprise الخاصة بنا.

101 إعجاب
Homepage Banner
Homepage specific design and content
Showing two banners: one to anonymous users, and one for logged-in members
Discourse Theme Creation
Activated child Component and broke Discourse!
How to add a simple Banner
Landing page customization
Adding a new banner just above the logo
Banner on Discourse
Ideas for highlighting content on our forum
Impact of component positioning with 2.5.0.beta6
Using an Image for a Global Banner Topic - Dimensions?
Showing a Warning to Non-Registered Users
Homepage Feature
Customise home login page
Enhancing My engineering Community Landing Page - Technology Support Category
How to add top welcome message to the board
How is the Banner at meta.discourse.org created?
Is it possible to change the order of topics?
Can the new About page be more visible?
Need help to emulate old forum
Creating a banner that only 1 group can see, while the other groups don't
Sticky global notice
Banner text customization for Subscriptions plugin
How to I stop topics automatically un-pinning when a user reaches the bottom?
How to insert Versatile Banner before the content of the post.?
Need guidance for adding description bar
Customizing your site with existing theme components
How to Set a Closable Banner at the Top of site?
Order of two items in the same plugin outlet
How to add this type of banner?
Customize Your Site Branding
Can the new About page be more visible?
Asking for advice on "How to create a Banner on the main page"/
No HTML in global notice
Welcome Link Banner theme-component with photos
How to apply CSS code only in the discourse home page?
How to add a header image and customize it
Make the Welcome Banner less intrusive
Your own banner with a link
I want add photo for download my app
How to add title and buttons naturally above forum topics?
Where shall I put this code for a top banner?
Is it possible to insert a box of text between the header and topic list?
How do I create a welcome banner like the one on this site?
Customizing the groups page
What are good plugins or theme components for a forum emphasizing pictures?
Creating a banner to display at the top of your site
Horizon Theme
Missing margin in the .banner- box for Versatile Banner TC
What Are Some Good Welcome Banner Designs?
App interviewer
How minimal is your forum?
How to make the automatic dark theme the same as the selected dark theme?
Hover preview and quote of the day
Creating a "Featured Categories" homepage banner
Making my discourse site look a certain way
Help with alignment in the "versatile banner" plugin
Make Banner Undismissable
Can I add a banner only on my homepage?
Welcome message at the top
Globally pinned topic only appears in one category
Pin a post even in the categories home page
How do i turn of unpin/pin option for my forum users?
[PAID] Assistance to Set-up My Forum
Custom HTML on Groups page
Banner diference mobile/web
Help me code menu top same image
Publish a notification at top of the page
How to create a welcome banner/section?
Landing page customization
Message to display to only users without accounts/logged in?
Turned my Discourse into a successful ecommerce platform!
Category Banners
Adding a new banner just above the logo

مرحباً يا أصدقاء! أريد جعل جميع النصوص محاذية لليسار، لكن سمة CSS لا تعمل معي. هل يمكن لأحد أن يخبرني بالضبط كيف يمكننا فعل ذلك؟

3 إعجابات

هل هذا على ما يبدو ما تبحث عنه؟

إذا كان الأمر كذلك، إليك كود CSS سريع وغير منقح قد يساعدك على البدء:

.banner-box {
  h1,
  h2,
  h3,
  .row .single-box {
    text-align: left;
    & .banner-list {
      display: block;
      ul {
        margin: 0 0 9px 25px;
      }
    }
  }

  .section-header {
    .x-title {
      padding: 25px 15px;
    }
    .description p {
      text-align: left;
    }
  }
}

ستحتاج إلى إنشاء مكون جديد باسم “تخصيصات اللافتة متعددة الاستخدامات” وإضافة كود CSS المذكور أعلاه إلى قسم Common. تأكد من إضافة المكون الجديد إلى أي سمة نشطة تستخدم لافتة Versatile Banner لتطبيق التخصيصات.

5 إعجابات

نجح هذا معي. شكرًا جزيلاً لك.

3 إعجابات

مرحبًا،

هل من الممكن تحويل صورة الخلفية إلى صورة قابلة للنقر؟

شكرًا لك على ردك.

هل يمكنك إعطاء مثال؟
لماذا ستفعل ذلك؟
أعني… هل ستكون جميع صور الخلفية روابط؟
إذا نقر المستخدم في أي مكان على اللافتة، سيتم إعادة توجيهه إلى ذلك الرابط.
لا أستطيع تخيل الغرض من ذلك.

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

كيف يمكنني تعديل ارتفاع اللافتة؟

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

مرحباً @tshenry، أنا أستخدم مكون موضوع “Versatile Banner” لكنه يختفي عندما ألغي تحديد خيار “العرض على سطح المكتب”. في الواقع، أود عرض اللافتة فقط على الأجهزة المحمولة.

لكن عندما ألغي تحديد خيار “العرض على سطح المكتب”… تختفي لافتة “Versatile Banner” على كل من سطح المكتب والأجهزة المحمولة.
إليك الموقع إذا أردت التحقق: https://hec.fm

هل فاتني شيء ما؟

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

هل من الممكن عرض الروابط أفقيًا على الأجهزة المحمولة أيضًا؟ لقد فوجئت قليلًا برؤيتها تظهر تحت بعضها البعض بدلاً من أن تكون أفقية.

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

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

يعتمد ارتفاع اللافتة بشكل أساسي على محتواها، ولكن يمكنك تعديل أي شيء حسب الحاجة باستخدام CSS الخاص بك. لست متأكدًا من مدى قدرتك على دمج ثلاثة أعمدة أفقيًا على الجوال، ولكن يمكنك بالتأكيد المحاولة باستخدام CSS مخصص أيضًا! راجع Making custom CSS changes on your site للحصول على بعض النصائح.

4 إعجابات

أعتقد أنني أواجه خطأً في موقعي يتعلق بعمر ملفات تعريف الارتباط (cookies) في الحفاظ على حالة التوسيع/الطي. ما أريده هو أن يتذكر موقعي متى قام المستخدمون بطي اللافتة أو توسيعها، ويبقيها على الحالة التي اختاروها بغض النظر عن أي شيء. ويعمل الأمر كما هو متوقع عندما أبقى في الصفحة الرئيسية أو أضغط على المواضيع. ومع ذلك، بمجرد الانتقال إلى لوحة الإدارة، أو إعدادات المستخدم، أو الأسئلة الشائعة، أو صفحة «من نحن»، أو شروط الخدمة، أو الخصوصية، أو الوثائق، ثم العودة إلى الصفحة الرئيسية، تبدأ الأمور في الاختلال، وأحيانًا تكون اللافتة عكس ما تم ضبطه، وأحيانًا تكون أيقونة السهم (chevron) الدالة على الطي أو التوسيع في الاتجاه الخاطئ.

هنا، السهم موجه للأعلى:

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

يبدو هذا السلوك غريبًا جدًا…

إعجابَين (2)

لقد اكتشفت للتو أن اللافتة المتنوعة لا تظهر في صفحة تسجيل الدخول الخاصة بمنتدىنا (وهو منتدى خاص) كما كانت من قبل.

تم تحديد خيار ‘عرض اللافتة للمستخدمين المجهولين’ في إعدادات المكون.

عند فحص كود HTML، يوجد عنصر div يحمل فئة ‘banner-box’ داخل مجموعة من عناصر div ذات الفئات ‘emberX’، لكن لا يوجد شيء داخل عنصر div ذي فئة ‘banner-box’ - على عكس كود HTML للمستخدمين المسجلين.

هل لديكم أي فكرة عما قد يكون خاطئًا؟

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

لقد دفعت للتو تحديثًا صغيرًا للمكون.

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

ستحتاج إلى إضافة /login إلى إعداد السمة “يجب أن يحتوي الرابط على”. راجع هذا المنشور للحصول على مزيد من التفاصيل.

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

3 إعجابات

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

حاول تغييره عبر سكريبت: '“api.changeWidgetSetting(‘banner-content-widget’, ‘href’, ‘<site_adresse>’)” لكن اللافتة المتعددة الأغراض توقفت عن العمل.

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

شكرًا لك، هذا رائع. إنه يعمل بشكل مثالي الآن! :folded_hands:t2:

إعجابَين (2)

قد تتمكن من فعل شيء مثل:

<script type="text/discourse-plugin" version="0.10.0">
  // إضافة الرابط إلى العنوان
  api.reopenWidget("banner-box-widget", {
    html(attrs) {
      let bannerBox = this._super();
      bannerBox[0].children[1].tagName = "A";
      bannerBox[0].children[1].properties.href = "https://meta.discourse.org";
      return bannerBox;
    }
  });
  
  // إضافة الرابط إلى بقية المحتوى
  api.reopenWidget("banner-content-widget", {
    html(attrs) {
      let bannerContent = this._super();
      bannerContent.tagName = "A";
      bannerContent.properties.href = "https://meta.discourse.org";
      return bannerContent;
    }
  });
</script>

وإضافة قاعدة CSS لضبط لون الرابط:

.banner-box a {
    color: var(--primary);
}

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

أضف ما يلي إلى قسم “بعد الرأس” المشترك:

<a href="https://meta.discourse.org">
  <div class="custom-banner">
    <h2>هذه لافتة مخصصة!</h2>
  </div>
</a>

وأضف ما يلي إلى قسم “CSS” المشترك:

 .custom-banner {
   display: flex;
   justify-content: center;
   align-items: center;
   width: $large-width; // 1110px
   height: 200px;
   margin-bottom: 15px;
   background: grey;
   color: white;
 }

هذا سيعطيك لافتة بسيطة قابلة للنقر بالكامل:

3 إعجابات

أقوم بتثبيت هذا المكون من git، لكن يبدو أنني لم أحصل على أحدث الأكواد. لم يتم تحديث الرابط FIX: Work with new sticky header and move away from deprecated $.cookie · discourse/discourse-versatile-banner@0939120 · GitHub في موقعي https://ygobbs.com/.

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

هذا لأنك تشغل إصدار Discourse 2.6.0.beta2. التخصيص الذي ربطت به يتطلب الإصدار 2.6.0.beta3 وما بعده. ستلاحظ أن التخصيص الذي ربطت به أضف ملف discourse-compatibility لضمان عدم تحديثك إلى تخصيص غير متوافق مع إصدار Discourse الخاص بك.

5 إعجابات

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

3 إعجابات

مرحباً @tshenry،
أرغب في تثبيت المكوّن أكثر من مرة لاستخدام كل نسخة لعرض بانرات مختلفة لفئات مختلفة؛ لذا قمت بتعطيل خيار “العرض في الصفحة الرئيسية” واستخدمت شرط “يجب أن يحتوي الرابط على”، لكن هذا يمنع المكوّن الرئيسي الذي أستخدمه لعرضه في الصفحة الرئيسية فقط. هل يمكنك تقديم حل بديل، أم أن هذه مشكلة؟ شكراً! (:

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