Extension dynamique d'un élément de menu existant à partir d'un module
Vous pouvez utiliser un module pour ajouter des éléments de menu à un menu où l'élément de menu s'affiche uniquement sur certaines pages,
Pourquoi et quand exécuter cette tâche
- Définissez un module qui inclut l'élément de menu que vous voulez ajouter.
- Inclure le module dans un profil.
- Appliquer le profil à une hiérarchie de page.
Procédure
- Définissez le module en tant que fichier JSON ou comme faisant partie d'un fichier plugin.xml.
Si vous le définissez en tant que fichier JSON, placez ce fichier dans WebDAV sous fs-type1/themes/YourTheme/contributions/. Si vous le définissez en tant que module système plugin.xml, placez-le dans le fichier .war d'application dans le répertoire WEB-INF.
- Définissez le module de remplacement en tant que fichier JSON.
{ "modules":[{ "id":"menuModule", "contributions":[{ "type":"menu", "sub-contributions":[{ "type":"json", "ref-id":"pageAction", "uris":[{ "value":"/menuTest/menuItem.json" }] }] }] }] }ref-id- ID référence du menu que vous voulez utiliser - cet exemple utilise le menu Action pour la page.
value- Pointeur vers le fichier qui inclut vos spécifications d'élement de menu - cet exemple pointe vers un chemin relatif dépendant de l'emplacement de votre thème.
- Définissez le module de remplacement dans un fichier plugin.xml.
<extension point="com.ibm.portal.resourceaggregator.module" id="staticMenuModule" > <module id="staticMenuModule"> <contribution type="config"> <sub-contribution type="config_dynamic" ref-id="pageAction"> <uri value="res://wps/defaultTheme80/themes/html/menuTest/menuAction.jsp" /> </sub-contribution> </contribution> <contribution type="menu"> <sub-contribution type="json" ref-id="pageAction"> <uri value="res://wps/defaultTheme80/themes/html/menuTest/menuItem.json" /> </sub-contribution> </contribution> </module> </extension>extension id- N'importe quel ID significatif.
module id- N'importe quel ID significatif.
sub-contribution ref-id- ID référence du menu que vous voulez utiliser - cet exemple utilise le menu Action pour la page.
uri value- Un pointeur vers les fichiers est requis pour créer votre menu ou du contenu. Dans l'exemple précédent, deux types de contribution sont affichés. Pour la contribution
menuet sa sous-contributionjson, cet exemple montre que l'URI pointe vers un fichier au format JSON dans le thème qui définit un ou plusieurs éléments de menu dans la syntaxe du fichier de définition de menu JSON.
- Définissez le module de remplacement en tant que fichier JSON.
- Créez le fichier menuitem.json que vous avez défini à l'étape 1. Pour plus d'informations, voir Infrastructure côté serveur.
- Inclure le module de remplacement dans un profil.Par exemple, dans profile_menuModule.json :
Le fichier profile_menuModule.json doit être copié vers WebDAV sur fs-type1/themes/YourTheme/profiles/.{ "moduleIDs": [ "menuModule", ... - Ouvrez le fichier json de menu voulu et ajoutez une entrée pour le module au menu. Utilisez l'exemple suivant.
{ "type":"ModuleRef", "id":"menuModule" }