Alors à l'heure actuelle il n'y a pas grand chose de faisable directement :
- le menuitem est relié au menu par une propriété et non par une présente dans l'arbre f_tree_xxx, ce qui explique que les différents byXxx ne fonctionnent pas directement
- l'implémentation actuelle des ScriptDocumentElement associé au menuitem se contente systématiquement d'en créer un nouveau
Ce qui va être fait c'est :
- déprécier l'élément menuitempage qui n'a plus trop d'intérêt maintenant que les byXxx fonctionnent bien sur les pages ainsi que le suffixe -refid sur les propriétés de type document
- sur le menuitemdocument au lieu de créer un nouvel item à chaque fois, on va regarder dans le menu en question s'il n'y a pas déjà un item correspondant au document qu'on veut insérer dans le menu
Ainsi on écrira :
<menu byTag="contextual_website_website_menu-main">
<menuitemdocument document-refid="DetailPanier" />
</menu>
Au lieu de :
<menu byTag="contextual_website_website_menu-main">
<menuitempage pageid="DetailPanier" />
</menu>
(exemple tiré du fichier
default.xml dans le module order)
Je viens de créer un ticket à ce sujet :
Doublons lors de l'import de menuitems