Placement d'un portlet dans une page
Pour placer un portlet dans une page, utilisez la méthode insert() du contrôleur.
Procédure
- Obtenez un contrôleur de modèle de présentation pour la page où le portlet doit être placé.
-
Obtenez un contexte
LayoutControlCreationContext, dont l'ID définition du portlet et éventuellement l'ID entité du portlet. -
Créez un contrôle de présentation à l'aide du contexte de l'étape précédente et de la méthode
create()du contrôleur de modèle de présentation. - Insérez le contrôle de présentation créé dans le contrôleur du modèle de présentation.
-
Conservez vos modifications à l'aide de la méthode
commit()du contrôleur.
Exemple
Exemple 1 - Placement d'un portlet dans une page :
// obtain layout model controller
final LayoutModelController lmController = cmController.getLayoutModelController(page);
// obtain layout control creation context
final LayoutControlCreationContext context = ... (portletDefinition, null);
//final LayoutControlCreationContext context = ... (portletDefinition, portletEntity);
// create layout control
final Modifiable control = lmController.create(LayoutControl.class, context);
// insert control into the topology of the layout model controller (given a container and a sibling)
lmController.insert(control, container, sibling);
// commit the content model controller
cmController.commit();