هل يمكن تغيير أسماء القوائم المنسدلة؟

مرحباً بالمجتمع :slight_smile:

هل يعرف أحد ما إذا كان هناك خيار لتغيير أسماء القوائم المنسدلة داخل فئة معينة؟

أود تخصيص أجزاء ‘الكل’ و ‘جميع العلامات’:

يمكن تخصيص كل النصوص تقريبًا:

أفترض أنك بحاجة إلى تعديل، على سبيل المثال:

إعجابَين (2)

ولكن لن يتغير لفئات معينة فقط.

بدأت في العمل على حل CSS معقد للغاية، وهو ليس مثالياً… وأنا متردد قليلاً في مشاركة شيء معقد كهذا على أي حال. :confounded:

5 إعجابات

حسنًا، شكرًا لمساعدتك! @merefield @Canapin

3 إعجابات

آه، آسف، قرأت بسرعة!

نعم، إنها عالمية.

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

حسناً :wink: :wink:

أعتقد أنه معقد للغاية، خاصة عندما لا يتم تعريف الفئات الفرعية على أنها كذلك في كود HTML… لدي شيء يعمل جزئيًا، ولكني أعتقد أنه يجب القيام به بالطريقة الصحيحة، وقد تساعد واجهة برمجة تطبيقات Discourse JS في ذلك. للأسف، لا أعرف الكثير عنها.

5 إعجابات

مرحباً :wave:

لقد قمت بإنشاء مكون سمة لتحقيق ذلك الآن…

يحتوي على إعدادين لتسهيل الأمر.

اسم الفئة
المكان الأول: معرف الفئة
المكان الثاني: عنوان القائمة المنسدلة للفئة

اسم العلامة
المكان الأول: معرف الفئة
المكان الثاني: عنوان القائمة المنسدلة للعلامة

والتي ستبدو كالتالي.

إضافة عنوان علامة الفئة الفرعية

آمل أن يكون هذا مفيداً :slightly_smiling_face:


تعديل: لقد قمت بإصلاح عرض القائمة المنسدلة لمحاذاتها بشكل صحيح مع عرض النص المخصص. UX: fix the dropdown width to keep the custom content width · VaperinaDEV/category-breadcrumb-dropdown-title@faca71c · GitHub

8 إعجابات

عمل رائع يا @Don - أنت تذهلني :exploding_head: :star_struck:

إعجابَين (2)

يا سمعة!
:man_mage:

من أعماق ألغاز SCSS وتعقيدات كيمياء الواجهة الأمامية، نهض السير دون. لقد قهر الدوال، وأتقن الحلقات، وفك رموز القوائم، ونحن نمنحه بفخر وسام التميز المرموق للواجهة الأمامية :sports_medal::person_bowing:.

وعملت مكوناتك دون سطر JS واحد…

Happy James Corden GIF by The Late Late Show with James Corden

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

من فضلك أخبرني أن GPT4bot ساعدك في كتابة ذلك :laughing:

4 إعجابات

نعم بنسبة 100%، أخشى ذلك.

إعجابَين (2)

حسناً، هذا الحل مثير للإعجاب، ولكن يمكنك فعل ذلك يا @Don:

api
  .modifySelectKit("category-drop")
  .replaceContent((component, content) => {
    let newContent = [];
    content.forEach((item) => {
      if (
        component.category?.slug === "general" &&
        item.id === "all-categories"
      ) {
        item.name = "jojo";
      }

      newContent.push(item);
    });
    return newContent;
  });

https://github.com/discourse/discourse/blob/main/app/assets/javascripts/select-kit/addon/mixins/plugin-api.js يسرد جميع الإجراءات التي يمكنك القيام بها:

  • appendContent
  • prependContent
  • replaceContent
  • onChange

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

6 إعجابات

@Don @j.jaffeux أنتم رائعون للغاية يا رفاق!! :fire:

3 إعجابات