Le 24 mars 2006, à 11:40, Joe Ramone a écrit :
la seul difference entre un portlet générique et un portlet "custom"
est
que le dernier n'a pas de données propres donc il n'est pas
paramétrable
via les formulaire d'édition comme les portlets génériques. Cela mis à
part la découpe logique / presentation reste inchangée, la plupart du
temps on utilise les scripts déjà écrits pour les portlets génériques
et
on leur passe des paramètres directement (dans les ZPTs) au lieu
d'utiliser les champs de CPSSchemas.
On va pas épiloguer mais pour moi ce n'est pas une découpe propre
logique/présentation.
C'est peut-être d'ailleur de là que viennent nos différences de point
de vue sur CPSSkins.
ÀMHA, il y a plusieurs axes à considérer dans les questions de
séparation logique/présentation, par exemple CSS/HTML, Python/ZPT. Il y
aura toujours un moment où on doit faire le pont avec les deux,
nécessairement via des objets qui ont un statut intermédiaire.
Le système de portlets laisse pas mal de liberté pour ce qui est de la
séparation du stylage, mais l'idée générale est de laisser CPSSkins
s'en occuper. Le portlet d'actions rend une liste en XHTML, le
conteneur CPSSkins (Portlet Group Box Templet) en fait l'habillage.
Pour ce qui est de la séparation Python/ZPT, c'est au niveau du widget
de portlet que ça se passe. La plupart des portlets standard de CPS
contiennent un "Portlet Widget" générique
(CPSPortlets.CPSPortletWidget) qui ne fait rien d'autre qu'appeler un
ZPT (render_method) en lui transmettant les paramètres gérés par les
autres widgets du/des layout(s). On peut tout à fait coder son propre
widget de portlet, mettre la grosse logique dedans, et de lui faire
appeler un ZPT qui prend les données prémâchées.
c'est dans la doc.
http://www.cps-project.org/sections/documentation/developers/
how_to_creation_de
Hey man, essaye pas de détourner mon attention avec une doc hors
sujet ! (en plus je crée mes portlets sur disque) ;)
Dois-je comprendre que tout portlet défini sur le portail ( = type
avec la propriété "CPS Portlet" à vrai) est automatiquement
instanciable via CPSSkins sans effort supplémentaire ?
Oui. On lui attribue un 'slot' qui correspond au Portal Group Box
Templet qui va l'habiller. C'est ce que fait l'éditeur de portlets
('gérer les portlets'). Il y a en plus une gestion avancée des
conditions d'affichage.
_______________________________________________
cps-users-fr
Adresse de la liste : [email protected]
Gestion de l'abonnement :
<http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>
_______________________________________________
cps-users-fr
Adresse de la liste : [email protected]
Gestion de l'abonnement : <http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>