¿Modificar la plantilla TopicExcerpt?

Quiero añadir el avatar del creador del tema a los extractos de la lista de temas, pero no parece haber forma de modificar el Topic Excerpt.

TopicExcerpt:

Creo que la única opción es ocultar .topic-excerpt con CSS y usar mi propio componente a través del topic-list-main-link-bottom Plugin Outlet, que está justo debajo del área de TopicExcerpt. El problema con eso es que el plugin outlet solo recibe el tema como argumento, por lo que tengo que duplicar toda la lógica en expandPinned para saber si debo mostrarlo o no.

tl;dr; ¿Podríamos tener un PluginOutlet dentro de TopicExcerpt y/o pasar @expandPinned a los outlets de topic-list-main-link-bottom?

1 me gusta

Ahora tienes más opciones, consulta:

1 me gusta

He mirado todas las opciones, que yo sepa (AFAIK). No veo ninguna forma quirúrgica de modificar solo el extracto.

sí, hay uno, elimínalo y agrega el tuyo

¿Quieres decir que reemplace todo el elemento de la lista de temas con el mío? Me gustaría evitar tener que mantener todo eso cuando solo quiero modificar una pequeña parte.

no, reemplaza la celda de extractos, o añade otra al lado y ocúltala.

El extracto no es una celda. Se utiliza dentro de topic-cell y en el elemento móvil

También puedes ver allí que el topic-list-main-link-bottom plugin-outlet cercano solo pasa el @topic, pero no @expandPinned.

1 me gusta

Sí, tienes razón, disculpas.

Vi el archivo en los componentes de la lista de temas y hice una suposición.

Pero en cualquier caso, hay muchas herramientas para lograr lo que quieres aquí, ¿no?

El outlet de plugins parece una buena opción y luego manipular el diseño con CSS?

En cuanto a expandPinned, ¿quizás replicar la lógica en tu nuevo Component tanto como necesites?

Sí, ese es el camino que estaba siguiendo. Lo que también significa replicar

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

Esperaba que suplicar a los dioses pudiera producir una opción más limpia :pray: :sweat_smile:

1 me gusta

Eso es lo que suelo hacer los lunes por la mañana.

2 Me gusta

esto parece razonable, así que lo he hecho aquí:

5 Me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.