Bonjour, si je veux ajouter une liste à puces au menu hamburger à partir des sous-menus que je vois soit au clic, soit au survol de la souris, dois-je procéder ainsi ou existe-t-il une méthode plus efficace ?
Je peux ajouter des éléments individuels au menu hamburger via un composant, mais j’ai besoin de fournir des sous-éléments qui seront affichés au survol.
Pouvez-vous me conseiller ? Merci.
<script type="text/discourse-plugin" version="0.1">
api.decorateWidget('menu-links:before', helper => {
return helper.h("li", [
helper.h("a.google", {
href:"https://google.com",
title: "Google",
}, helper.h('p', 'Google')),
]);
});
</script>
EDIT : RÉSOLU
Mais encore une chose, comment ajouter target blank ?
2 « J'aime »
keegan
(Keegan George)
Juin 29, 2022, 4:32
2
Retourner un widget :
Vous pourriez retourner votre propre widget personnalisé à api.decorateWidget, ce qui vous donnera beaucoup plus de contrôle en termes d’application d’attributs, d’état, d’actions, etc.
Vous pourriez donc faire :
api.decorateWidget('menu-links:before', helper => {
return helper.widget.attach("custom-menu-links");
});
Ensuite, à l’intérieur de javascripts/discourse/widgets/custom-menu-links.js, créez un widget en utilisant l’aide createWidget :
import { createWidget } from 'discourse/widgets/widget';
createWidget('custom-menu-links', {
...
});
Jetez un œil à ce sujet pour découvrir certaines des fonctionnalités des Widgets :
This is out of date. See Widgets, the Widget API and their roadmap?
The latest builds of Discourse are much faster at rendering topics thanks to our re-written post stream . I’ve written up our new plugin API but so far haven’t explained how the code all fits together. The purpose of this topic is to allow Discourse developers to understand how the new code works.
What’s a Virtual DOM?
A Virtual DOM is a data structure that enables browsers to re-render dynamic content very quickly. The techniq…
J’ai beaucoup utilisé les widgets dans mon composant de thème d’en-tête déroulant, vous pourriez trouver certains du code utiles.
Ajouter target=“_blank”
Vous l’ajoutez à l’objet attributes :
return helper.h('a.google',
{
attributes: {
href: "https://google.com",
target: "_blank",
title: "Google"
},
}
...
);
2 « J'aime »