Questo è l’errore che sto ricevendo nella console del mio browser.
/discourse/templates/components/feedback-stream] feedback-stream è stato creato utilizzando gjs e il suo template non può essere sovrascritto. Ignorando la sovrascrittura. Per maggiori informazioni sul futuro delle sovrascritture dei template, vedi https://meta.discourse.org/t/247487
Ma, come puoi vedere, non è stato scritto utilizzando gjs.
Ora ho deciso di ignorare questo errore per ora e ho continuato ad ammodernare il plugin. Appena ho collocato i template (quindi mv templates/components/* components) l’errore è scomparso. Ma il template viene ancora ignorato.
Lo scopo delle mie modifiche attuali è far tornare funzionante il plugin sull’ultima versione stabile
Lo scopo di questa parte specifica del plugin è mostrare un feedback sulla pagina del profilo di un utente, riutilizzando ampiamente i componenti esistenti.
Comunque @Arkshine vedo il tuo - quindi solo per chiarire. Le sovrascritture dei template sono deprecate, indipendentemente dal formato di authoring originale. Le rimuoveremo completamente nei prossimi mesi. Per quei casi, hai ragione al 100% sul fatto che i Plugin Outlets siano la soluzione.
Ma quello che @RGJ sta facendo qui non è una sovrascrittura di template, sta usando il sistema di ereditarietà dei componenti di Ember. Invece di fare
class Foo extends Component
puoi fare
class Foo extends SomeOtherComponent
In quel caso, il tuo componente erediterà il template di SomeOtherComponent, o puoi scegliere di sostituire tu stesso il template. La tua sostituzione del template si applica solo a Foo e non influenzerà il genitore SomeOtherComponent.
Questo tipo di ereditarietà è comunque una funzionalità piuttosto raramente utilizzata. Tendiamo a preferire la “composizione”, dove si incapsulano i componenti l’uno nell’altro all’interno di un template. (ad esempio, è così che viene utilizzato DModal)