The Joomla! Community Magazine™

Issue 2014 July > French

Utiliser SobiPro en tant que CCK

Written by | Monday, 30 June 2014 16:00 | Published in 2014 July
Après avoir évalué différents CCK (Content Construction Kit), il s'est avéré que SobiPro répondait à toutes mes exigences pour la construction d'un site portfolio. La seule inconnue pour moi demeurait dans le degré de difficulté quant à l'apprentissage de la technologie EXtensible Stylesheet Language (XSLT). Pour ceux qui ne la connaissent pas, XSLT est une "technologie de template" qui interprète un document XML et génère le HTML. J'ai aimé l'idée d'être en mesure de manipuler le modèle de données en même temps que la vue. Mais je n'aimais pas l'idée de devoir apprendre une nouvelle technologie.
Utiliser SobiPro en tant que CCK image par @Helvecio

L'apprentissage du XSLT

Pour mieux comprendre ce qu'est le XSLT, j'ai installé SobiPro et les applications de démonstration et jeté un oeil aux fichiers .XSL via FTP/Dreamweaver. Par bonheur, j'ai pu facilement comprendre la syntaxe XSLT.

J'ai rencontré des difficultés dans la bonne compréhension de la hiérarchie de l'architecture de SobiPro et de l'aspect fonctionnel de la structure de fichier. Une fois familiarisé avec la hiérarchie de Section, Catégorie et Elément, j'ai compris que je pouvais créer des types de champ dans un élément et que l'"élément" est en fait comme un article personnalisé pour Joomla!. L'Elément devient mon formulaire d'entrée de données en backend... dans la nomenclature CCK, un "type de contenu personnalisé". Ce formulaire est utilisé pour créer un "élément" (le nom utilisé par SobiPro pour un article) qui est accessible depuis le front-end via une ou plusieurs catégories. Les Sections sont simplement des groupes de catégories. A ce stade, j'ai pensé aux "sections" en tant qu'applications, puisque les données d'exemple intégrées à SobiPro contenaient différentes sections, chacune pour une application différente (MarketPlace, Immobilier, Annuaire Professionnel, etc.).

L'aspect fonctionnel de la structure de fichier peut être mieux compris si vous assimilez au préalable les conventions de nommage de fichiers de SobiPro. Tous les fichiers .XSL se trouvent dans le dossier components/com_sobipro/usr/templates/nom-de-ma-section (me concernant, c'était le dossier /tbdp/). A ce stade, j'avais compris que le dossier "nom-de-ma-section" était un template en plus d'une application ou une section.

Dans le dossier /tbdp/ se trouvent d'autres dossiers contenant les fichiers XSLT. En fonction de l'aspect de présentation de vos données, il existe un ensemble de fichiers XSLT dont vous devrez prendre connaissance. Pour mon application, seul quatre fichiers XSLT m'étaient nécessaires. Ces fichiers et dossiers sont :

  1. /section/view.xsl – donne le contrôle lorsque l'élément de menu “Par le Client” est sélectionné
  2. /category/view.xsl – donne le contrôle pour toutes les autres catégories (Digitale, Marque, etc.).
  3. /common/entries.xsl – utilisé pour générer le code HTML permettant d'afficher une ancre/image à toutes les entrées d'une catégorie
  4. /entry/details.xsl – utilisé pour générer le code HTML afin d'afficher les champs pour une entrée individuelle (ce qui se fait généralement dans le fichier vcard.xsl)

Ayant assimilé que cliquer sur un élément de menu m'emmenait soit vers (1) soit vers (2), j'ai facilement compris les différentes options quant au rendu de mon application. J'ai utilisé (3) afin de créer une liste d'images/ancres pour une catégorie. Une fois l'ancre cliquée, le contrôle passait à une entrée spécifique (4) de cette catégorie. Ayant expérimenté la programmation, j'ai trouvé cette technique de contrôle très similaires à ce qu'il se passe dans le cadre de la programmation.

XML et XSLT

Dans SobiPro, il existe une option de configuration permettant d'ajouter à une URL un paramètre de requête et lorsqu'il est activé, cela permet d'afficher le XML généré avant la génération du HTML. Cela fournit aux développeurs un moyen facile de voir en temps réel les données XML lors de l'élaboration du XSLT.

Lorsque vous ajoutez ce paramètre de requête (?xml=1), puisque vous affichez le code source dans votre navigateur, vous serez à même de voir le XML généré par SobiPro pour votre application. Voici un exemple d'une partie du XML généré pour mon application :

Exemple d'XML

xml-example2

Exemple d'XSLT

Comme indiqué précédemment, la syntaxe XSLT est simple et j'étais en mesure de réaffecter le XSLT de la démo pour mon utilisation spécifique. Voici un extrait du code XSLT :

xslt-example1

XSLT et PHP

En plus d'avoir ce "modèle" supplémentaire (le document XML) disponible pour le développeur, SobiPro offre un accès direct au PHP et à l'environnement Joomla!. Le PHP est facilement accessible dans votre template XLST via une fonction personnalisée ou via les fonctions internes de SobiPro. Voici ci-dessous un exemple de fonction PHP personnalisée qui est utilisée pour définir la valeur de la variable "fromCategory" à partir d'un cookie nommé "fromCategoryCookie" :

xslt-php

Pour aller encore plus loin

J'ai bon espoir cette introduction à la technologie XSLT permettra non seulement à d'autres d'appréhender son utilisation, mais également qu'elle les encouragera à découvrir de nouvelles technologies et essayer de nouvelles extensions Joomla!.

La popularité et l'excellence des CCK ne cessant de croître, je souhaiterais vraiment voir plus de fonctionnalités CCK intégrées à Joomla!. En outre, après avoir découvert la puissance du XSL, je suis devenu un fervent défenseur quant à son utilisation dans Joomla! car il permet aux développeurs de générer du XML mais également d'intégrer l'utilisation du XSLT dans l'architecture des templates pour Joomla!.
Qu'en pensez-vous ? Discutons-en...

Traduction libre par Sandra Thevenet de l'article original : Using SobiPro as a CCK par Dennis Kmetz
Read 2756 times
Tagged under French
Sandra Thevenet

Sandra Thevenet

Of course, I am passionate about the web, and even more about Joomla! and especially its fabulous Community of people with whom it is so easy to share.
Some call me the CSS fanatic and I must confess, it is truly a passion for me.
From my little island, I try to contribute and participate to the Joomla! project.

----

Vous êtres francophone et vous souhaitez écrire ou traduire un article sur notre CMS préféré ? Contactez-moi par mail : sandra.thevenet@community.joomla.org

 

Language Switcher

Current Articles