![]() | Guide SCENARIbuilder |
Les axisProblématique
Pour publier un document, nous avons souvent besoin de publier une donnée plusieurs fois, et de plusieurs manières différentes. Lorsque l'on fait un appel classique à un transformer, c'est toujours le même qui est appelé, et il publie toujours les données de la même manière, avec toujours les mêmes classes pour le stylage. Axis Le rôle des axis est de définir plusieurs versions d'un même transformer, qui vont publier la même donnée de plusieurs manières différentes. Par exemple, dans notre liste de planètes, nous pouvons rajouter une page "galerie" qui va afficher des miniatures de toutes les photos des planètes. Appeler des transformeurs avec axis
A partir d'un transformer ou du template, lorsque l'on utilise callSubModel, callRootModel, callSubMeta, callMeta, ou autre appel à un transformer fils, nous avons la possibilité de préciser un axis. Par exemple, dans universe.transf, on rajoute un appel à la liste des astres avec l'axis gallery. La hiérarchie des transformeurs avec axis
Vous allez maintenant créer les transformers fils pour reproduire toute une hiérarchie jusqu'à arriver au niveau "image". Par convention, on nomme les fichiers axis avec transformers sous la forme codeObjet@codeAxis.transf. Pour passer d'un transformer à un autre en restant sur le même axis, il faut que celui-ci soit spécifié en deux endroits :
![]() Les 2 premiers fichiers à créer sont donc astrobj@gallery.transf et astrobjMeta@gallery.transf. Les axis pour les ressources binaires
Utiliser les axis sur les ressources binaires permet de spécifier leurs propriétés de publication dans un cas d'usage, par exemple changer la taille d'une image dans la version "galeries de miniatures". Nous allons utiliser cette possibilité pour forcer la taille des images à 200 pixels de large (200 en min et en max). On copie les transformeurs jpeg_web.transf et png_web.transf du modelet binary pour avoir un point de départ, puis on modifie ces 2 transformers. On pourrait aussi appeler les transformers des images sans axis une fois arrivé dans astrobjMeta@gallery.transf mais dans ce cas, nous n'aurions pas l'image à la taille personnalisée que nous souhaitons. Résultat
Créez un contenu de test avec 3 planètes et autant de photos. Si vous avez réussi, les 3 photos devraient apparaître sur la page d'introduction. Mettre a jours le fichier transflist
Comme toujours, pensez à rajouter vos nouveaux transformeus dans le fichier
|
(c) scenari-platform.org 2007 |