Développer avec RBS Change : [Import-data] Cas des menuitems
-
02/11/2011 14:02
Bonjour,
Nous utilisons énormément l’import de données dans Change ; import que nous réalisons plusieurs fois d'affilée à des fins de tests. Du coup, nous avons pris l'habitude d'utiliser les "byLabel" ou "byXXX" pour éviter les doublons dans notre base.
Dans le cas des éléments de menus de sites, je ne sais pas sur quel paramètre placer le "by", du coup j'ai toujours des doublons dans mes menus. J'ai tenté le classique "byLabel" mais rien n'y fait : mes menuitems sont insérés plusieurs fois. Comment faire ?
Merci d'avance -
46183.2 en réponse à 46183.1 écrit par David Guillot
02/11/2011 14:32
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Édité par Gaël Port 02/11/2011 14:40
-
02/11/2011 14:56
Voilà, ticket traité. J'ai également synchronisé le repo publique pour le module website pour que vous ayiez accès directement à la correction.
Merci de prendre connaissance et de respecter les règles des forums.