C’est l’erreur que j’obtiens dans la console de mon navigateur.
**
/discourse/templates/components/feedback-stream] feedback-stream a été créé avec gjs et son template ne peut pas être remplacé. Ignorer le remplacement. Pour plus d’informations sur l’avenir des remplacements de templates, voir (not recommended) Overriding Discourse templates from a Theme or Plugin
**
Mais, comme vous pouvez le voir, il n’a pas été créé avec gjs.
Maintenant, j’ai décidé d’ignorer cette erreur pour le moment et j’ai continué à moderniser le plugin. Dès que j’ai colocalisé les templates (donc mv templates/components/* components), l’erreur a disparu. Mais le template est toujours ignoré.
Le but de mes modifications actuelles est de faire fonctionner à nouveau le plugin sur la dernière version stable
Le but de cette partie spécifique du plugin est d’afficher des commentaires sur la page de profil d’un utilisateur, tout en réutilisant largement les composants existants.
Au fait @Arkshine je vois votre - donc juste pour clarifier ici. Les remplacements de modèles sont dépréciés, quel que soit le format d’origine. Nous les supprimerons complètement dans les prochains mois. Pour ces cas, vous avez 100% raison de dire que les Plugin Outlets sont la solution.
Mais ce que @RGJ fait ici n’est pas un remplacement de modèle, c’est utiliser le système d’héritage de composants d’Ember. Au lieu de faire
class Foo extends Component
vous pouvez faire
class Foo extends SomeOtherComponent
Dans ce cas, votre composant héritera du modèle de SomeOtherComponent, ou vous pourrez choisir de remplacer le modèle vous-même. Votre remplacement de modèle ne s’applique qu’à Foo, et n’affectera pas le composant parent SomeOtherComponent.
Ce type d’héritage est cependant une fonctionnalité assez rarement utilisée. Nous avons tendance à privilégier la « composition », où vous encapsulez des composants les uns dans les autres dans un modèle. (par exemple, c’est ainsi que DModal est utilisé)