Modifier le modèle TopicExcerpt ?

Je souhaite ajouter l’avatar du créateur du sujet aux extraits de la liste des sujets, mais il ne semble y avoir aucun moyen de modifier l’extrait du sujet (Topic Excerpt).

Extrait du sujet :

Je pense que la seule option est de masquer .topic-excerpt avec du CSS et d’utiliser mon propre composant via le topic-list-main-link-bottom Plugin Outlet, qui se trouve juste sous la zone de l’extrait du sujet. Le problème avec cela est que le plugin outlet ne reçoit que le sujet comme argument, je dois donc dupliquer toute la logique de expandPinned pour savoir si je dois l’afficher ou non.

En bref ; Pouvons-nous obtenir un PluginOutlet à l’intérieur de l’extrait du sujet et/ou passer @expandPinned aux outlets topic-list-main-link-bottom ?

1 « J'aime »

Vous avez plus d’options maintenant, voir :

1 « J'aime »

D’après ce que je sais, j’ai examiné toutes les options. Il n’y a aucun moyen chirurgical de modifier uniquement l’extrait, à ma connaissance.

oui il y en a une, supprimez-la et ajoutez la vôtre

Vous voulez dire remplacer tout l’élément de la liste de sujets par le vôtre ? J’aimerais éviter d’avoir à tout maintenir alors que je ne veux modifier qu’une petite partie.

Non, remplacez la cellule des extraits, ou ajoutez-en une autre à côté et masquez-la.

L’extrait n’est pas une cellule. Il est utilisé à l’intérieur de la topic-cell et dans l’élément mobile

Vous pouvez également voir là-bas que la topic-list-main-link-bottom plugin-outlet à proximité ne passe que le @topic, mais pas @expandPinned.

1 « J'aime »

Ah oui, vous avez raison, toutes mes excuses.

J’ai vu le fichier dans les composants de la liste de sujets et j’ai fait une supposition.

Mais dans tous les cas, il existe de nombreux outils pour réaliser ce que vous voulez, n’est-ce pas ?

L’outlet de plugin semble être une bonne option, puis manipuler la mise en page avec CSS ?

Quant à expandPinned, peut-être reproduire la logique dans votre nouveau composant autant que nécessaire ?

Ouais, c’est la voie que j’étais en train d’explorer. Ce qui signifie aussi répliquer

  get useMobileLayout() {
    return applyValueTransformer(
      "topic-list-item-mobile-layout",
      this.site.mobileView,
      { topic: this.args.outletArgs.topic }
    );
  }
  // et 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;
  }

J’espérais que supplier les dieux produirait une option plus propre :pray: :sweat_smile:

1 « J'aime »

C’est ce que je fais habituellement le lundi matin.

2 « J'aime »

cela semble raisonnable, je l’ai donc fait ici :

5 « J'aime »

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