Modules et zones de contenu dynamique

Vous pouvez utiliser la structure modularisée des zones de contenu dynamique pour remplacer des zones qui ont été définies via des fournisseurs d'environnement de ressources.

Les zones de contenu dynamique et les contributions de balisage sont des techniques d'ajout de langage HTML à un thème, avec une différence importante. Les contributions de balisage sont toujours placées à la fin du corps de la page. Alors que les zones de contenu dynamique sont affichées où elles sont placées dans le modèle HTML du thème.

Lorsqu'un module requiert un marquage, utilisez une contribution de balisage s'il n'est pas important, où le module est dans la page, par exemple avec des définitions d'iWidget. Si le marquage doit apparaître dans un emplacement spécifique dans le thème, une zone dynamique conditionnelle est utilisée.

Zones de contenu dynamique dans une page

Portal identifie des zones de contenu dynamique après analyse du profil d'une page et de tous les modules dans le profil qui inclut son prereqs. Si un module au sein de la hiérarchie contient une zone de contenu dynamique, la zone participe au processus de rendu de page. Si le profil de la page ne contient pas d'ID de zone de contenu dynamique utilisé dans theme.html, rien n'est affiché. Si Portal identifie une zone de contenu dynamique avec un ID correspondant, il affiche la zone de contenu dynamique à l'URI référencé.

Pour utiliser la même zone de contenu dynamique dans deux pages différentes, mais avec un marquage différent, référencez différents profils qui contiennent un module différent pour la zone de contenu dynamique.

Cet exemple montre deux pages, Accueil et Applications. La page Accueil dispose d'une barre de navigation supérieure en ligne, et la page Applications comporte une navigation déroulante. Le fichier theme.html est identique et utilise la zone de contenu dynamique suivante

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

Créez deux modules et deux profils pour créer les deux pages avec un marquage différent.

Modules :

topNavModule
Définit une sous-contribution avec ref-id 85theme_topNav qui pointe sur un fichier JSP fourni par ce module. Cette page JSP affiche la barre de navigation supérieure en ligne.
flyoutNavModule
Définit une sous-contribution avec ref-id 85theme_topNav qui pointe sur un fichier JSP fourni par ce module. Cette page JSP affiche une navigation déroulante.

Profils :

HomeProfile, défini sur Accueil
Il contient le module topNavModule. Il permet l'affichage de la navigation supérieure en ligne.
ApplicationsProfile, défini sur Applications
Il contient le module flyoutNavModule. Il permet l'affichage de la navigation supérieure en ligne.

Remplacement des zones de contenu dynamique

Vous pouvez remplacer n'importe quelle zone de contenu dynamique qui a été définie par le biais de fournisseurs d'environnement de ressources. Les zones de contenu dynamique dans les modules supplantent les zones de contenu dynamique des fournisseurs d'environnement de ressources. Toutefois, vous pouvez remplacer des zones de contenu dynamique qui ont été définies par des modules. Pour afficher les zones de contenu dynamique dans le bon ordre, vous devez créer un module qui définit un prereq sur le module qui définit la zone de contenu dynamique précédente. Pour plus d'informations, voir Ecriture de modules avec un fichier plugin.xml.

Pour remplacer la zone de contenu dynamique par défaut pour la recherche wp_search_dynspot, vous devez créer un module qui définit un prereq sur wp_searchbar. Ce module permet d'afficher l'ID de zone de contenu dynamique indiqué.