Versatile Banner

قم بإنشاء مكون سمة كما هو موضح في دليل المبتدئين لاستخدام منشئ السمات وأداة سطر الأوامر Theme CLI لبدء بناء سمة Discourse، دليل المطور لسمات Discourse أو أي من المواضيع الأخرى العديدة التي يمكنك العثور عليها بالبحث عن "مطوّر السمات".

إذا لم يكن ذلك مفيدًا، فستحتاج إلى قول المزيد حول ما تحاول القيام به.

5 إعجابات

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

إعجابَين (2)

لا أعرف. ولكن Add localizable strings to themes and theme components قد يقدم بعض الأدلة. أعتقد أنك بحاجة إلى عمل نسخة من مكون السمة، لكنني لست متأكدًا ولم ألقِ نظرة على الكود مؤخرًا لأعرف ما إذا كنت على حق.

إعجابَين (2)

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

آمل أن نطلق في مرحلة ما “لافتة متعددة الاستخدامات 2” التي يمكنها معالجة بعض الميزات المفقودة والطلبات التي وردت على مر السنين.

3 إعجابات

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

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

يمكنك إضافته إلى فئة معينة عن طريق إضافة رابط مثل /c/support/* إلى إعداد يجب أن يحتوي الرابط على.

إعجابَين (2)

أعلم ذلك، لهذا السبب كتبت “مواضيع ضمن فئة واحدة”. المواضيع لها عنوان URL مثل /t/* لا يحتوي على اسم الفئة. لذلك، إذا أضفت /c/support/*، فسيظهر فقط في صفحة قائمة المواضيع وليس المواضيع الموجودة ضمن تلك الفئة.

إعجابَين (2)

عذرًا، لقد قرأت ذلك بشكل خاطئ تمامًا. :slight_smile: أخشى أنني لا أعرف.

3 إعجابات

تتم إضافة الفئة كفئة إلى الوسم <body>، لذا يمكنك كتابة CSS لإظهار أو إخفاء اللافتة اعتمادًا على الفئة. على سبيل المثال:

/* إخفاء اللافتة افتراضيًا */
.custom-banner-outlet {
    display: none;
}

/* عرض اللافتة في فئة "عام" */
body.category-general .custom-banner-outlet {
    display: block;
}
3 إعجابات

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

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

أعتقد أنه يجب أن يكون ذلك ممكنًا باستخدام مكون السمة CSS Classes for Current User's Groups وإضافة display: none; قليلاً للمجموعة ذات الصلة التي ترغب في إخفائها منها. :+1:

3 إعجابات

شكراً جزيلاً. يبدو هذا مغرياً جداً لما أبحث عنه، لكن للأسف أنا غارق تماماً في لغة css. أقدر الاقتراح رغم ذلك!

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

لا بأس. :slightly_smiling_face: إذا أخبرتنا باسم المجموعة التي تريد إخفاء اللافتة منها، فيمكننا تعديل الكود ليناسب احتياجاتك وإرشادك إلى مكان وضعه. :+1:

على سبيل المثال:

.group-alumni {
.custom-banner-outlet {
    display: none;
  }
}
تفاصيل إضافية حول كيفية إضافته إلى موقعك
  • انتقل إلى /admin/customize/themes
  • انقر على تثبيت ثم إنشاء جديد
  • قم بتسميته، واختر ‘مكون’.
  • إنشاء
  • أضفه إلى السمة الخاصة بك
  • انقر على زر تحرير CSS/HTML والصق الكود في علامة التبويب عام
  • واحفظ. :+1:

4 إعجابات

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

آمل أن يكون هناك مفتاح أو إعداد قد أغفلته.

إعجابَين (2)
  1. يمكنك إضافة سمة أخرى (ربما نسخة مكررة من السمة ‘العادية’ الخاصة بك) - قم بتسميتها Test أو شيء من هذا القبيل.
    • احتفظ بالسمة العادية الخاصة بك كـ ‘الافتراضية’.
  2. تأكد من تضمين نفس مكونات السمة بالضبط
  3. اختر هذه السمة لمستخدم المسؤول الخاص بك

يمكنك بعد ذلك العبث بهذه السمة كما تشاء. يمكن للآخرين (نظريًا) اختيار السمة ولكن من غير المرجح جدًا أن يفعلوا ذلك إلا إذا تم توجيههم إليها بوضوح.

فقط تذكر اختيار السمة ‘العادية’ عند الانتهاء!

3 إعجابات

أعتقد أنه قد لا يكون ذلك ممكنًا ولكنه لا يضر أن تسأل.

في موضوع طويل عندما تبدأ من الأسفل وتمرر لأعلى، يظهر الشعار لفترة وجيزة أثناء تحميل تدفق المنشورات في المنشورات القديمة. بعد تحميل المنشورات، يحدث “قفزة” مرئية حيث يتم دفع الشعار فوق تدفق المنشورات. أجد ذلك مزعجًا بعض الشيء ولا يظهر لفترة كافية للتفاعل معه.

من الناحية المثالية، أود فقط رؤية الشعار فوق عنوان الموضوع وليس في منتصف التدفق. أعتقد أن هذا ليس طلبًا بسيطًا على الرغم من ذلك لأنني سأفترض أن الشعار يستخدم منفذ below-site-header لذا فإن سلوكه يعتمد على المنفذ وبالتالي فإن هذه “القفزة” هي سلوك متوقع.

هل هناك طريقة بسيطة لمعرفة ما إذا كنت في أعلى الصفحة؟

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

هذه نصيحة رائعة. لقد نجحت معي تمامًا.

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

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

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

3 إعجابات

هل هناك طريقة لعرض هذا فقط لمستويات ثقة محددة؟

بهذه الطريقة، بدلاً من استخدام ملف تعريف ارتباط لتذكر إعداد المستخدم لإظهاره/إخفائه، سيراه جميع المستخدمين حتى يصلوا إلى مستوى ثقة معين؟

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

لا يحتوي مكون اللافتة هذا حاليًا، ولكن Welcome Link Banner يفعل ذلك إذا كان هذا بديلاً جيدًا؟

إعجابَين (2)

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