عرض إعلانات مختلفة على فئات مختلفة

لديّ ثلاث إعلانات: A و B و C، وثلاث فئات تُسمى a و b و c. كيف يمكنني عرض الإعلان A في الفئة a، والإعلان B في الفئة b، والإعلان C في الفئة c؟ لم أستطع العثور على هذا الإعداد في إضافة الإعلانات. هل لديكم أي اقتراحات؟ شكرًا لكم.

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

شكرًا لك يا @pfaffman. لا أفهم حلّك. هل تقصد:

  1. إنشاء ثلاث إعلانات مختلفة بأسماء فئات مختلفة (.first-ad .second-ad, .third-ad) وجعلها مرئية في جميع الفئات الثلاث.
  2. تخصيص نمط CSS للفئات (أنا لست متأكدًا من كيفية القيام بذلك) لإخفاء بعض الإعلانات بناءً على اسم الفئة الخاص بها (إذا لم أرغب في عرض الإعلان الثاني في الفئة أ، سأضيف .second-ad {disable: none} إلى نمط CSS).

نعم، شيء من هذا القبيل. أعتقد أنني كنت قد أخفيته بشكل افتراضي ثم تجاوزت ذلك في الفئة التي يجب أن تُعرض فيها. لستُ ماهراً بما يكفي في CSS لوصف الأمر بطريقة أكثر بلاغة، لكن يبدو أن فهمك الآن قريب جداً من فهمي، بل ربما أفضل.

شكرًا لك. سأجرب ذلك لاحقًا.

مرجع

إضافة CSS مخصص لفئات معينة

ربما يكون من “الأفضل” القيام بذلك باستخدام JavaScript، أو ربما jQuery إذا كنت تفضل ذلك.

على سبيل المثال، تظهر الفئة في موضوع ما اسم الفئة بهذه الطريقة:

<span class="category-name">أسئلة UNIX للمبتدئين</span>

لذلك، في سكريبت صفحة الموضوع، ستختار النص الخاص بالفئة “category-name” ثم تقوم بحقن وسم الإعلان الخاص بك في عنصر div الذي تختاره بناءً على نص الفئة.

هذه، في رأيي، طريقة أفضل من إخفاء وإظهار عناصر div الخاصة بأكواد الإعلانات بناءً على CSS فقط.

هذا أيضًا سهل التطبيق جدًا لأي شخص لديه مهارات أساسية في JavaScript أو jQuery.

تقوم باختيار النص الداخلي لعنصر span بناءً على فئة span الخاص بالفئة. ثم تقارن ذلك النص الداخلي بقائمة الفئات الخاصة بك وتقوم بإدراج كود الإعلان الخاص بك في عنصر DOM الذي تختاره في تلك الصفحة بناءً على الفئة.

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

شكرًا لك على اقتراحك، فهو مفيد جدًا @neounix. لدي بالفعل بعض الخبرة في JavaScript. ومع ذلك، بعد إعداد الإعلانات باستخدام CSS، لا أعرف أين أضع كود JavaScript الخاص بي. هل يجب أن:

  1. أضعه في الخادم (أعدّل الكود في قاعدة كود Discourse)
  2. أضعه في مكان ما بلوحة التحكم
  3. أستخدم إضافة إضافية أو مكون سمة.

شكرًا لك

@Windsooon

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

ستختلف محددات DOM بناءً على الصفحة التي تعرض فيها الإعلانات.

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

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

لقد فهمت! شكرًا جزيلاً لك.

مرحبًا @Windsooon

هذا هو ما صُمم JavaScript لفعله، وهو التلاعب بـ DOM، بما في ذلك إدراج عناصر في DOM، لذا فأنت على المسار الصحيح! :slight_smile:

استمتع!!!

هل هناك من سيطلب مني مقابلًا لـ ‘تنفيذ هذا نيابةً عني’؟ أحتاج إلى إعداد إعلانات لكل فئة لحوالي 9 فئات.

مرحباً مارك،

هل أحرزت أي تقدم في هذا الشأن؟ بصراحة، فهمي لـ CSS و Java محدود للغاية، ونحن نعتمد بشكل أساسي على مكونات السمات المخصصة المتاحة لنا.

نود أيضًا استخدام “وظيفة AD” لإضافة نص مخصص ببساطة إلى فئاتنا ولكن لا يمكننا العثور على طريقة لجعلها تظهر فقط في فئة معينة.

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