رموز الفئات

ما الذي تعنيه كلمة “icon” في الإعدادات؟

هل هي الاسم الدقيق لأيقونة ما من موقع SVG؟ وكيف يمكنني الحصول على الاسم الدقيق؟

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

هذا يمكن أن يكون بالفعل تحسينًا رائعًا!

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

أعتقد أن هناك مشكلة في منتداي حيث أن الأيقونات محددة باللون الأبيض، بينما الخلفية في صفحة التصنيفات بيضاء أيضًا.

هل يمكنني فرض خلفية مختلفة هنا، حيث أنها تُستخدم للتصنيفات الفرعية؟

إعجابَين (2)

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

قائمة أيقونات التصنيف لا تُطبَّق في عرض التصنيف (مع إظهار قائمة التصنيفات الفرعية فوق المواضيع في هذا التصنيف)

تمكّنت من إصلاح هذه المشكلة عن طريق استبدال السطر 112 في header.html

      if(iconItem && !attrs.category.parent_category_id) {

بـ

      if (iconItem) {

وإضافة الكود التالي إلى common.scss

.subcategory .category-icon-widget {
  display: none;
}

أيقونة قفل التصنيف بجوار التصنيف لا تتغيّر إلى ملف SVG الجديد

عرض التصنيفات:

عرض التصنيف (مع إظهار قائمة التصنيفات الفرعية فوق المواضيع في هذا التصنيف):

أعتقد أن هذا هو الكود ذي الصلة:

    let classNames = "badge-category clear-badge";
    if (restricted) {
      classNames += " restricted";
    }
    
...

    html +=
      `<span ${style} ` +
      'data-drop-close="true" class="' +
      classNames +
      '"' +
      (description ? 'title="' + escapeExpression(description) + '" ' : "") +
      ">";

الذي يضيف فئة restricted إلى عنصر <span> ذي الفئات badge-category clear-badge والذي يتحكّم في عرض أيقونة قفل التصنيفات الفرعية، لكنني لا أستطيع معرفة كيفية تطبيق ذلك أيضًا على عنصر <div> ذي الفئة category-text-title والذي يتحكّم في عرض أيقونة قفل التصنيف.

من فضلك ساعدنا @pmusaraj @tshenry

إعجابَين (2)

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

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

لا يزال من غير الممكن بالنسبة لي “فهم” ما الخطأ في اللون،
هل يمكن لأحد أن يساعدني وأين كان خطئي؟

والنتيجة

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

خطأ @pmusaraj
يجب أن تكون أوصاف الفئات الفرعية (وعناوينها) فريدة فقط ضمن الفئة الأصلية الخاصة بها.

لكن تُستخدم الأوصاف كمفتاح للعثور على الأيقونة في هذا المكون.

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

وبصراحة، أعتقد أن هذه في الواقع مشكلة في نظام Discourse، حيث يجب أن تكون الأوصاف فريدة عبر مثيل Discourse بأكمله، لكنها ليست كذلك.

هل من الممكن إصلاح هذا داخل المكون؟

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

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

ملاحظة: لقد رأيت موضوعك الجديد الذي يطرح سؤالًا حول سبب عدم كونها فريدة.

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

على سبيل المثال، تستخدم مكون أيقونات التصنيف (Category Icons Component) الرمز التعريفي (slug) لتحديد التصنيف الذي يجب ربط الأيقونة به. كيف يمكن للمسؤول أو المستخدم تحديد تصنيف فرعي بشكل فريد؟ هل يجب عليهم استخدام المسار “التصنيف-الفرعي” (أو “الوالد-الطفل-الحفيد” عند إصدار هذا التحسين)؟ يبدو هذا الأمر مرهقًا بعض الشيء.

إعجابَين (2)

من المرجح أنه يمكن للمكون إزالة تكرار الفئات الفرعية التي تحمل نفس الاسم المستعار (slug) تحت أبويّ مختلفين، لكن ذلك سيتطلب طريقة لتمرير اسم المستعار للفئة الأب في إعدادات المكون. وبصراحة، أعتقد أن هذا الحل لن يكون أنيقًا للغاية.

هل يمكنك تجربة تغيير الاسم المستعار (slug) لأحد الفئتين اللتين يحملان نفس الاسم المستعار؟ هل هناك سبب يمنعك من القيام بذلك (فقط الاسم المستعار يحتاج إلى تغيير، وليس اسم الفئة)؟

3 إعجابات

نعم، يبدو أن هذا هو الحل الأنسب، نظرًا لأن الـ slugs الخاصة بالفئات الفرعية في فئات أصلية مختلفة لا يجب أن تكون فريدة.

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

في استخدامنا، ذهبتُ إلى أبعد من ذلك وجعلتُ الأمر خيارًا للمطابقة الجزئية للـ slug، بحيث يتطابق إدخال مثل “help,question-mark,#000080,false” مع “sw-help” و"help-forum" و"helpdesk".

العنصر الإضافي “false” في نهاية الإدخال يخبر النظام بعدم فرض مطابقة دقيقة.

لدي أيضًا خيار تحديد اللون كـ “catcol”، وفي هذه الحالة ستأخذ الأيقونة لون الفئة بدلاً من استخدام لون محدد منفصل.

اقتراحان للإدراج في تحديث لك.

3 إعجابات

أعتقد أن المكون استخدم المطابقة الجزئية في مرحلة ما، مما أربك بعض المستخدمين الذين كانوا يريدون أيقونة لكلمة “book” وليس لكلمة “booking”. ولكن مع وجود خيار لتفعيل أو إيقاف هذا السلوك لكل إعداد على حدة، سيكون هذا مفيدًا جدًا. (ربما يمكنك استخدام partial-match بدلاً من false كعنصر أخير، ليكون الأمر أسهل في الفهم.)

هذه إضافة رائعة.

سأكون سعيدًا بمراجعة طلب دمج (PR) لأي من هاتين الميزتين. شكرًا لك!

5 إعجابات

تم دمج https://github.com/pmusaraj/discourse-category-icons/pull/5، شكرًا لك @rogerco!

3 إعجابات

لقد واجهتُ مشكلةً بسيطةً فيما يتعلق بخيار لون الفئة، وذلك عندما تكون الإعدادات تستخدم نقاطًا أو مربعاتً بدلاً من الأشرطة. لقد قمت بإنشائه فقط لخيار الأشرطة في الإعدادات، وفي الخيارات الأخرى يعود إلى اللون الرمادي. أعتقد أنه يمكن إصلاحه إلى حد كبير باستخدام CSS، لكنني لم أحلّه بعد - وسأفعل!

3 إعجابات

شكرًا لك على هذا القالب الرائع @pmusaraj! :raising_hands:

أود استخدام أيقونة التعليقات، لكنني لست معجبًا جدًا بالإصدار الممتلئ. عندما أستخدم comments، يظهر الإصدار الممتلئ. عادةً ما يُقدَّم الإصدار الممتلئ على شكل “fas fa-comments”.

ماذا لو أردت استخدام الإصدار العادي الذي يُقدَّم عادةً على شكل “far fa-comments”؟

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

3 إعجابات

لقد أضفت إلى سمة بلدي، على النحو التالي:

كيف يمكنني الآن إضافة هذا إلى إعدادات السمة؟ إليك ما حاولت فعله…

إعجابَين (2)

استخدم “far-comments” في كلا الإعدادين، على هذا النحو:

الإصدارات المدفوعة غير متاحة للجمهور، لذا لا يمكننا تضمينها في Discourse. إذا سمحت ترخيصاتها، فيمكنك إضافتها كـ SVG sprite مخصص في نسختك. توجد تعليمات كاملة لذلك في مقالة إدخال Font Awesome 5 وأيقونات SVG، اقرأ بعناية قسم “إضافة أيقونات مخصصة”.

4 إعجابات

شكرًا لك على المساعدة في هذا! إضافة far-comments إلى كلا المنطقتين عملت بشكل مثالي!

هل يمكنك إلقاء نظرة سريعة على هذا السؤال الآخر الذي طرحته (ردًا على أحد تعليقاتك الأخرى في هذا الموضوع)…

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

مرحبًا، يا له من مكون موضوع رائع! أواجه صعوبة في إضافة Font Awesome أو رفع الأيقونات باستخدام رفع أيقونات sprite. أستطيع فقط إظهار question-circle. ما الخطأ الذي أقوم به؟ هل أحتاج إلى إضافة أكواد CSS؟

الصور أدناه

و

تظهر أسماء Font Awesome دائمًا أنها غير موجودة وتطلب الإنشاء؟ جربت الاسم المباشر والبادئة، مثل bullhorn أو fa-bullhorn.

تحديث: نجحت في جعل Font Awesome يعمل. وجدت أيقونة SVG في الإعدادات لإضافتها، لكنها لا تستخدم إعدادات اللون كما هو الحال مع question-circle.

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

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

عند النظر إلى الموقع في ملفك الشخصي، أرى أيقونات للفئات، لذا ربما تكون قد حللت هذه المشكلة بالفعل؟ إذا لم يكن الأمر كذلك، فمن الصورة الملتقطة أعلاه، أعتقد أنك بحاجة إلى التأكد من أن ملف SVG في icons-sprite هو ملف SVG Sprite (وليس أيقونة فردية). لمزيد من التفاصيل، راجع: Replace Discourse's default SVG icons with custom icons in a theme

6 إعجابات