omppatil
(Om Patil)
Novembre 28, 2023, 12:34
1
Salut !
Je suis nouveau dans la création de plugins Discourse et j’apprécierais un peu d’aide pour ajouter un bouton bascule au menu des publications et implémenter son action dans le plugin.
Lilly
(Lillian )
Novembre 28, 2023, 12:41
2
Salut @omppatil , peut-être que ce post pourrait vous aider à aller dans la bonne direction :
Si vous souhaitez ajouter un bouton au menu des publications, vous aurez besoin d’une approche légèrement différente, car les publications sont des widgets .
Vous devrez ajouter quelque chose comme ceci à votre thème ou plugin.
api.addPostMenuButton("my-button", () => {
return {
action: "someAction",
icon: "someIcon",
className: "someClass",
title: "some title",
};
});
L’API des plugins dispose d’une méthode pour ajouter de nouveaux boutons, ce qui rend cette opération rela…
Aussi, si vous êtes nouveau dans la programmation de plugins Discourse :
La création d’un plugin Discourse peut être vraiment simple, une fois que vous avez appris quelques particularités. L’objectif de ce message est de créer un squelette de plugin et de vous initier aux bases.
Votre environnement de développement
Assurez-vous d’avoir un environnement de développement Discourse en cours d’exécution sur votre ordinateur. Je vous recommande d’utiliser le guide d’installation approprié et de revenir une fois que vous avez terminé.
plugin.rb
Utilisez GitHub - …
Je viens tout juste de commencer, mais voici ma « base solide » pour vous lancer :
Lisez :
Ces
Ceci
Essayez de lire le code des plugins les plus simples, mais populaires , et voyez si vous arrivez à comprendre ce qu’ils font (ce n’est pas toujours facile, surtout avec la complexité liée à la gestion de multiples fichiers et la brièveté fonctionnelle parfois brutale de JavaScript, mais persévérez)
Vous devez apprendre :
Beaucoup de JavaScript (regardez tout simplement les excellentes et amus…
There are a few ‘how to start’ guides for working with Discourse already and a wealth of useful info on meta, but I thought it might help to give an insight to the mental processes of starting from little, if any, prior coding experience to building substantial Discourse plugins.
Discourse is written by experienced developers and has a large codebase. This can feel intimidating. This intimidation factor can be a significant barrier for novice developers. This is a kind of ‘psychological primer’…
Salut !
Vous pouvez utiliser addPostMenuButton
api.addPostMenuButton('coffee', () => {
return {
action: 'drinkCoffee',
icon: 'coffee',
className: 'hot-coffee',
title: 'coffee.title',
position: 'first' // peut être `first`, `last` ou `second-last-hidden`
};
});
Ensuite, vous pouvez ajouter votre action de cette façon :
api.attachWidgetAction("post", "drinkCoffee", function () {
//
}
EDIT : J’ai été “Lillianisé” . Ce serait également une bonne idée de suivre les guides que Lilly a publiés !
omppatil
(Om Patil)
Novembre 28, 2023, 12:53
4
Par conséquent, quelle structure de fichiers doit être mise en œuvre et où le code ci-dessus doit-il être placé ?
Lilly
(Lillian )
Novembre 28, 2023, 1:26
5
La lecture des sujets liés ci-dessus devrait répondre à vos questions de développement connexes. Il est possible que vous puissiez réaliser ce que vous souhaitez avec un composant de thème au lieu d’un plugin. Par conséquent, j’ajouterais également ceci à votre liste de lecture :
Ceci est un cours accéléré sur les bases des thèmes Discourse. Le public cible est toute personne non familière avec les thèmes Discourse. Si vous avez déjà utilisé des thèmes Discourse / composants de thème, ce guide n’est probablement pas quelque chose que vous devez lire.
Qu’est-ce que les thèmes et les composants de thème ?
Un thème ou un composant de thème est un ensemble de fichiers regroupés conçus pour soit modifier Discourse visuellement, soit ajouter de nouvelles fonctionnalités.
Co…
Les thèmes Discourse et les composants de thème peuvent être utilisés pour personnaliser l’apparence, l’ambiance et les fonctionnalités du frontend de Discourse. Cette section des guides du développeur vise à fournir tout le matériel de référence dont vous avez besoin pour développer des thèmes simples pour un seul site, jusqu’aux composants de thème open source complexes.
Cette introduction vise à fournir une carte de tous les outils et API pour le développement de thèmes. Si vous préférez un …
également, à partir du premier lien que j’ai posté :
Joe:
Ce composant de thème utilise cette méthode pour ajouter un nouveau bouton à ce menu en fonction de certaines conditions et définit une nouvelle action, alors jetez un œil ici
https://github.com/discourse/raw-post-button