Création d'une zone de contenu dynamique avec un module

Dans la plupart des cas, utilisez l'approche modularisée pour définir des zones de contenu dynamiques. Cette approche est plus flexible que l'utilisation de fournisseurs d'environnement de ressources. Vous pouvez également basculer la zone de contenu dynamique par page et remplacer une zone de contenu existant lorsque vous effectuez la définition dans un module.

Pourquoi et quand exécuter cette tâche

Une zone de contenu dynamique est définie dans theme.html. Vous devez créer un module avec l'ID 85theme_topNav puis ajouter ce module à un profil. L'exemple suivant présente la navigation de niveau supérieur.

<a rel="dynamic-content" href="dyn-cs:id:85theme_topNav"></a>

Pour plus d'informations, voir Modules et zones de contenu dynamique.

Procédure

  1. Définissez le module en tant que fichier JSON ou comme faisant partie d'un fichier plugin.xml. L'ID de zone de contenu dynamique est défini dans l'attribut ref-id de la sous-contribution.
    • L'exemple suivant montre la définition d'un module au format JSON. Pour définir le module de remplacement en tant que fichier JSON. Ajoutez le fichier dans WebDAV à l'emplacement fs-type1/themes/YourTheme/contributions/.

      { 
        "modules": [{   
          "id" : "topnavoverlay",
          "prereqs": [{    
            "id":"wp_dynamicContentSpots_85"  
          }],   
           "contributions": [{     
            "type":"dyn-cs",    
            "sub-contributions": [{       
              "type":"markup",       
              "ref-id":"85theme_topNav",       
              "uris": [{         
                "value":"res:/your/sample.html"       
              }]     
            }]   
          }]
        }] 
      }
      id
      Cette valeur peut être tout ID significatif unique sur le système.
      ref-id
      ID de la zone dynamique à remplacer. Dans cet exemple, il s'agit de 85theme_topNav.
      valeur
      Un pointeur vers le balisage de la zone dynamique. Dans cet exemple, il pointe sur un ficher HTML relatif à l'emplacement du thème dans WebDAV.
      Remarque : Si vous voulez faire référence à un fichier .JSP, vous devez définir ce module dans un fichier plugin.xml.
      prereqs
      Nom du module requis ou remplacé par ce module.
    • Vous pouvez également définir le module de remplacement dans un fichier plugin.xml.
      <extension point="com.ibm.portal.resourceaggregator.module" id="topnavoverlay" >
         <module id="topnavoverlay">
          <preqreq id="wp_dynamicContentSpots_85"/>
          <contribution type="dyn-cs">
            <sub-contribution type="markup" ref-id="85theme_topNav">
               <uri value="res:/your/sample.jsp" />
             </sub-contribution>
           </contribution>
         </module>
       </extension>
      extension id
      Cette valeur peut être tout ID significatif unique sur le système.
      module id
      Cette valeur peut être tout ID significatif unique sur le système.
      sub-contribution ref-id
      ID de la zone dynamique à remplacer. Dans cet exemple, il s'agit de 85theme_search.
      uri value
      Un pointeur vers le balisage de la zone dynamique.
      prereqs
      Nom du module requis ou remplacé par ce module.
  2. Inclure le module dans un profil.
    Par exemple, dans newtopnav_profile.json.
    {{
      {
    	  "moduleIDs": [
    	  "topnavoverlay",
    	  ...
    }}
    
    Le fichier newtopnav_profile.json doit être copié vers WebDAV sur fs-type1/themes/YourTheme/profiles/. Pour plus d'informations, voir Création d'un profil de module.
  3. Appliquer le profil à une hiérarchie de page.
    Il est possible de modifier le profil d'un thème ou d'une page spécifique de façon à définir les modules qui sont chargés. Pour plus d'informations voir Modification du profil de thème.