dsims
(Daniel)
13 Febrero, 2025 19:12
1
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:
The topic-list is one of the most-used and most-customized user-interfaces in Discourse. There are many different tools available to theme and plugin developers to achieve this customization, each with their own advantages, disadvantages and maintenance considerations.
CSS-based Customization
The safest and most common customization method is CSS. As with any other Discourse customization: the more complex your changes, the more maintenance is likely to be required in your theme or plugin.
Gen…
1 me gusta
dsims
(Daniel)
13 Febrero, 2025 19:31
3
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
dsims
(Daniel)
13 Febrero, 2025 19:40
5
¿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.
dsims
(Daniel)
13 Febrero, 2025 19:46
7
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?
dsims
(Daniel)
13 Febrero, 2025 20:35
10
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
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í:
main ← dev-expandpinned-outlet
opened 08:33PM - 13 Feb 25 UTC
Requested on Meta, seems reasonable: https://meta.discourse.org/t/modify-topicex… cerpt-template/352136
5 Me gusta
system
(system)
Cerrado
16 Marzo, 2025 14:40
13
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.