Modificare il modello TopicExcerpt?

Voglio aggiungere l’avatar del creatore dell’argomento agli estratti dell’elenco degli argomenti, ma non sembra esserci alcun modo per modificare l’estratto dell’argomento.

TopicExcerpt:

Penso che l’unica opzione sia nascondere .topic-excerpt con CSS e utilizzare il mio componente tramite il topic-list-main-link-bottom Plugin Outlet che si trova appena sotto l’area TopicExcerpt. Il problema con questo è che il plugin outlet riceve solo l’argomento come parametro, quindi devo duplicare tutta la logica in expandPinned per sapere se devo mostrarlo o meno.

tl;dr; Potremmo avere un PluginOutlet all’interno di TopicExcerpt e/o passare @expandPinned agli outlet topic-list-main-link-bottom?

1 Mi Piace

Ora hai più opzioni, vedi:

1 Mi Piace

Per quanto ne so, ho esaminato tutte le opzioni. Non vedo alcun modo chirurgico per modificare solo l’estratto.

sì, c’è, eliminalo e aggiungi il tuo

Intendi sostituire l’intero elemento dell’elenco dell’argomento con il mio? Vorrei evitare di dover mantenere tutto questo quando voglio solo modificare una piccola parte.

no, sostituisci la cella degli estratti, oppure aggiungine un’altra accanto e nascondila.

L’estratto non è una cella. Viene utilizzato all’interno di topic-cell e in mobile item

Puoi anche vedere lì che il plugin-outlet topic-list-main-link-bottom nelle vicinanze passa solo @topic, ma non @expandPinned.

1 Mi Piace

Ah sì, hai ragione, mi scuso.

Ho visto il file nei componenti della lista degli argomenti e ho fatto un’ipotesi.

Ma in ogni caso, ci sono molti strumenti per ottenere ciò che desideri qui, no?

L’outlet del plugin sembra una buona opzione e poi manipolare il layout con CSS?

Per quanto riguarda expandPinned, forse replicare la logica nel tuo nuovo Component quanto necessario?

Sì, è la strada che stavo percorrendo. Il che significa anche replicare

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

Speravo che invocare gli dei potesse produrre un’opzione più pulita :pray: :sweat_smile:

1 Mi Piace

È quello che faccio di solito il lunedì mattina.

2 Mi Piace

questo sembra ragionevole, quindi l’ho fatto qui:

5 Mi Piace

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