| | | |\n|— | — | —|\n|:information_source: | Résumé | Ajouter un bouton ou du texte n’importe où|\n|:hammer_and_wrench: | Dépôt | https://github.com/literatecomputing/discourse-custom-components|\n|:question: | Guide d’installation | Comment installer un thème ou un composant de thème|\n|:open_book: | Nouveau aux thèmes Discourse ? | Guide du débutant pour l’utilisation des thèmes Discourse|\n\n\u003c!-- Remplissez "repoName" et "repoURL" pour le bouton d’installation automatique –\u003e\n\n[wrap=theme-install-button repoName="Custom Components" repoUrl="https://github.com/literatecomputing/discourse-custom-components\"]\nInstaller ce composant de thème\n[/wrap]\n\n\u003c!-- Décrivez ce thème/composant en une ou deux phrases –\u003e\n\nAjoutez un bouton de lien ou du texte arbitraire à n’importe quel point de sortie de plugin. (Ignorez les filigranes sur les images - j’ai pris ces captures d’écran sur un site de staging/test.)\n\n\u003c!-- Ajoutez des captures d’écran (si applicable) –\u003e\n\n
\n\n\n\n\n\n\u003c!-- Ajoutez plus de détails et expliquez les paramètres (si applicable) –\u003e\n\nJ’ai commencé à développer ce plugin pour quelqu’un qui voulait afficher un bouton "cliquez sur ce bouton pour vous abonner afin de pouvoir envoyer des MP" sur les profils d’utilisateurs et les cartes d’utilisateurs. Ils voulaient que le bouton s’affiche si l’utilisateur ne pouvait pas envoyer de MP. Comme je ne suis pas toujours aussi intelligent que je voudrais le penser, j’ai écrit le composant en utilisant des groupes pour déterminer si le bouton était affiché. Un problème avec cette approche était que les membres du personnel n’étaient pas dans le groupe d’abonnés, donc ils recevraient le bouton "vous devez vous abonner" même s’ils pouvaient envoyer des MP. De plus, le groupe était caché, il était donc impossible de l’utiliser dans un composant de thème de toute façon. J’ai réécrit ce composant de thème pour utilisercurrentUser.can_send_private_messages afin de déterminer s’il fallait afficher le bouton.\n\n### À qui s’adresse ceci ?\n\nSi vous voulez mettre un bouton avec un lien dedans, ou du texte arbitraire qui est affiché ou caché pour certains groupes, cela vous permettra de les insérer à n’importe quel point de sortie de plugin. Vous voulez ajouter un bouton de lien "Vous devriez vous abonner" entre chaque message sauf pour ceux qui ne sont pas membres ? Cela le fera. Vous voulez coller du HTML arbitraire à un point de sortie de plugin, juste pour voir à quoi il ressemblera ? Cela le fera.\n\n### Comment cela aide les développeurs\n\nCe thème contient quelques exemples simples sur la façon de :\n- utiliser les https://meta.discourse.org/t/objects-type-for-theme-setting/305009\n- utiliser api.renderInOutlet (comme décrit ici pour coller un composant Glimmer à un point de sortie contrôlé par un paramètre plutôt que de créer un fichier dans le répertoire connectors\n- Écrire un simple composant Glimmer qui accède à currentUser\n- Encapsuler un composant dans un autre modèle (en ligne) pour pouvoir lui passer des données\n- Afficher du HTML arbitraire à partir d’un paramètre de thème sans les contraintes de Markdown–Bien sûr, peut-être \n[quote="Discourse, post:1, topic:82557"]\nVous pouvez utiliser l’aide html-safe d’Ember ici et elle rendra le HTML au lieu du texte.\n[/quote]\n\nmais si vous essayez de le faire à l’intérieur d’un \u003ctemplate\u003e à l’intérieur d’un fichier .gjs, cela fonctionne un peu différemment (comme {{htmlSafe component.text}})



