هل تريد تعديل قالب TopicExcerpt؟

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

مقتطف الموضوع:

أعتقد أن الخيار الوحيد هو إخفاء .topic-excerpt باستخدام CSS واستخدام مكوني الخاص عبر منفذ المكون الإضافي topic-list-main-link-bottom الذي يقع مباشرة أسفل منطقة مقتطف الموضوع. المشكلة في ذلك هي أن منفذ المكون الإضافي يحصل فقط على الموضوع كوسيط، لذلك يجب علي تكرار كل المنطق في expandPinned لمعرفة ما إذا كان يجب علي عرضه أم لا.

باختصار؛ هل يمكننا الحصول على منفذ مكون إضافي داخل مقتطف الموضوع و/أو تمرير @expandPinned إلى منافذ topic-list-main-link-bottom؟

لديك المزيد من الخيارات الآن، انظر:

لقد بحثت في جميع الخيارات على حد علمي. لا توجد طريقة جراحية لتعديل المقتطف فقط كما أرى.

نعم يوجد، احذفه وأضف الخاص بك

هل تقصد استبدال عنصر القائمة الكاملة بالموضوع الخاص بي؟ أود تجنب الحاجة لصيانة كل ذلك عندما أريد فقط تعديل جزء صغير.

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

المقتطف ليس خلية. يتم استخدامه داخل topic-cell و mobile item

يمكنك أيضًا رؤية أن منفذ المكون الإضافي topic-list-main-link-bottom المجاور يمرر فقط @topic، ولكن ليس @expandPinned.

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

بالنسبة لـ expandPinned، ربما يمكنك تكرار المنطق في المكون الجديد الخاص بك بقدر ما تحتاج؟

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

  get useMobileLayout() {
    return applyValueTransformer(
      "topic-list-item-mobile-layout",
      this.site.mobileView,
      { topic: this.args.outletArgs.topic }
    );
  }
  // ومن discovery/topics.js
  get expandGloballyPinned() {
    !this.expandAllPinned();
  }
  get expandAllPinned() {
    const category = this.discovery.category?.id
    const tag = this.discovery.tag?.id
    return category || tag;
  }

كنت آمل أن يؤدي التوسل إلى الآلهة إلى خيار أنظف :pray: :sweat_smile:

هذا ما أفعله عادة صباح يوم الاثنين.

هذا يبدو معقولاً، لذلك قمت بذلك هنا: