Normalement, si ton container ne contient que des champs et que les définitions de champs ne diffèrent pas (ex:valeur par défaut calculée en fonction du contexte), il suffit de suffixer le container.
Par contre, si l'une des definitions est paramètrée, il te faut suffixer les champs.
De même si le container contient des sous-containers (cas des containers "box"+id).
Par exemple, j'ai une définition d'un container list comme suit :
<%-- Déclaration des zones de liens - DEBUT --%>
title="Doc Container List"
titleKey="docContainerList"
bundleKey="<%=resBundleID%>"
>
<content:declareContainer>
<content:declareField name="docLink"
title="Link"
titleKey="link"
bundleKey="<%=resBundleID%>"
type="Page"
/>
</content:declareContainer>
</content:declareContainerList>
<%-- Déclaration des zones de liens - FIN --%>
et je l'utilise comme suit :
<
content:containerList name="<%=doc_list_id + "DocContainerList"%>" id="docContainerList"><content:container id="docLinkContainer">
<content:pageField valueId="docLink" name="docLink"/>
[ ... ]
</content:container>
</content:containerList>
Ghislain
| Bonjour, Dans ma page, je souhaite ajouter une 2e fois le même container (même définition). Mon container étant assez complexe, je préfèrerais uniquement suffixer le nom du container list (mais pas les champs) : Exemple 1: <content:declareContainerList name = '<%= "portletContainer" + index %>' ... > <content:declareContainer> <content:declareField name = "portletType" ... /> ... Avec index = 1 pour la 1ère utilisation du container sur la page, index = 2 pour la 2e utilisation... Ma page a l'air de bien fonctionner, mais j'obtiens des messages d'erreur "Field already defined dans les logs". Ma question est la suivante : lorsqu'on souhaite positionner plusieurs fois le même ContainerList (même déclaration mais instances différentes) sur une page, doit-on utiliser un nom spécifique pour chaque champ du container (exemple 2) ou suffit-il d'utiliser un nom de container différent (exemple 1) ? Exemple 2: <content:declareContainerList name = '<%= "portletContainer" + index %>' ... > <content:declareContainer> <content:declareField name = '<%= "portletType" + index %>' ... /> ... Merci pour ces précisions. Thomas |
Ghislain CUSSONNEAU
La Poste - DIPM
CAP 44, Rue Marcel Sembat
44000 Nantes
02 51 84 48 80
Accédez au courrier électronique de La Poste : www.laposte.net
3615 LAPOSTENET (0,34 /mn)
