تخصيص الأيقونة بدون استبدال شامل

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

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

باستخدام CSS، يمكنك استهداف واستبدال مثيل معين للأيقونة.

يبدو أن هذا الموضوع يحتوي على بعض المعلومات

لقد جربت ذلك ولم ينجح، على الأقل ليس مع تثبيت Discourse الأخير لدي. ثانيًا، لا يبدو أن هذا يستبدل مثيل أيقونة واحدًا لأنه سيستبدل جميع الأيقونات بناءً على محدد الأيقونة المحدد.

في الوقت الحالي، هذه هي الطريقة التي أستبدل بها أيقونة “موضوع جديد”

  api.onPageChange(() => {
    const button = document.querySelector("#create-topic");

    if (button) {
      const oldSvg = button.querySelector("svg");
      if (oldSvg) {
        oldSvg.remove();
      }
      const ns = "http://www.w3.org/2000/svg";
      const svg = document.createElementNS(ns, "svg");
      svg.setAttribute("xmlns", ns);
      svg.setAttribute("viewBox", "10 10 30 30");
      svg.setAttribute("width", "28");
      svg.setAttribute("height", "28");
      svg.setAttribute("class", "svg-icon custom-icon");
      svg.innerHTML = `
        (كود أيقونة SVG هنا)
      `;

      button.insertBefore(svg, button.firstChild);
    }
  });

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

لا يمكن ذلك في الوقت الحالي باستثناء بعض الحالات الخاصة.

هذا الموضوع هو طلب مكرر، لذلك سأغلق هذا الموضوع لصالح https://meta.discourse.org/t/change-single-instance-of-icon/336356، والذي يحتوي أيضًا على مثال لـ إضافة أيقونة عبر CSS.

لا تتردد في التصويت على هذا الموضوع وإضافة أي تفاصيل إضافية هناك إذا لزم الأمر!

3 إعجابات

تكرار لـ Change single instance of icon