Publication structurée
Sommaire
Containers OVML
OCPublication
Liste des publications
<source lang="ovml"> <OCPublication [node=""] [structure="" [publication=""]] [filter=""] [limit=""] [order=""] [orderby=""]>
<OVPublicationId>
<OVPublication...>
</OCPublication> </source>
Paramètres
- node
- Id du noeud dans le plan du site. Si
noden'est pas renseigné,structuredevra être renseigné
- structure
- nom de la structure de donnés, si
structuren'est pas renseigné,nodedevra être renseigné
- publication
- Id numérique de la publication ou liste d'id séparés par des virgules
- path (optionnel)
- requête XPath à utiliser pour récupérer la structure, la requête doit retourner un noeud de type
<element name="nom de la structure">. Exemple de requête pour que les publications affichées soient les sous-publications définies sous "slide" dans la structure :.//xs:element[@name='slide']. Par défaut, le container va utiliser l'élément à la racine.
- filter (optionnel)
- Les filtres doivent êtes séparés par des virgules, le nom du champ et la valeur doivent êtres séparés par un =. Ex.
type=Courrier,deleted=0. Les noms de champ à utiliser sont ceux de la structure.
- limit (optionnel)
- ???
- order (optionnel)
- asc ou desc
- orderby (optionnel)
- l'ordre par défaut est l'ordre manuel des sous publication dans le cas ou path est défini, ou l'ordre des id si le champ publication contient plusieurs id séparés par des virgules.
Variables
| Variable | Valeur |
|---|---|
| OVPublicationSitemapNodeId | Id du noeud du plan du site fourni par ovidentia (toujours présent) |
| OVPublicationSitemapCustomNodeId | Id du premier noeud ayant pour cible cette publication dans le plan du site défini dans les options du site (peut être vide si la publication n'est pas dans sitemap_editor). |
| PublicationSitemapCustomNodeText | Nom du premier noeud ayant pour cible cette publication dans le plan du site défini dans les options du site (peut être vide si la publication n'est pas dans sitemap_editor). |
| PublicationSitemapCustomNodeDescription | Description du premier noeud ayant pour cible cette publication dans le plan du site défini dans les options du site (peut être vide si la publication n'est pas dans sitemap_editor). |
| PublicationSitemapUrl | Url réécrite permettant d'accéder à la publication. |
| ... Autant de variables que de champs dans la structure | Il faut utiliser une majuscule pour le premier caractère, example: title dans le fichier xsd deviens OVTitle dans l'ovml
|
Fonctions OVML
OFDownloadUrl
Créer une url de téléchargement.
<source lang="ovml"> <OFDownloadUrl path="localPath" permanent="1|0" saveas=""> </source>
Paramètres
- path
- chemin local du fichier tel qu'il est proposé par le container OCPublication par exemple.
- permanent (optionnel)
- 0 (par défaut) : l'identifiant unique change à chaque rafraîchissement de la page, pour une sécurité plus forte
- 1 : L'identifiant unique reste toujours le même pour une url locale donnée, le lien peut être bookmarké ou indexé par les moteurs de recherche (préférable pour les url publiques)
- saveas
- Enregistrer le résultat dans une variable OVML
OFGetPublicationId
Pour obtenir l'id numérique d'une publication à partir d'un noeud du plan du site.
Ancien nom de la fonction: OFPublicationNode
<source lang="ovml"> <OFGetPublicationId [node=""] [saveas=""] [all="0"]> </source>
Paramètres
- node (optionnel)
- Par défault le noeud de la page en cours sera utilisé
- all (optionnel)
- 0 (par défaut) : seulement la publication
- 1 : la publication associée au nœud et toutes les publications associées au nœuds en dessous.
- saveas (optionnel)
- Enregistrer le résultat dans une variable ovml
Exemple d'intégration des structures
Les pré-requis
La publication structurée est fonctionnelle via le système des portlets et/ou l'éditeur de plan de site. Il est indispensable qu' Ovidentia soit à jour et que les modules le soient également. Afin de s'assurer d'être à jour, il est souhaitable d'installer le module storeclient. Ce dernier facilite le téléchargement, l'installation et la mise à jour des modules et d' Ovidentia directement depuis storeclient.
- Module Publication (à jour)
- Module Editlinks (à jour) => Attribuer les droits nécessaires (Administrateurs ou utilisateurs enregistrés)
- Module Porlets (à jour)
- Module Widgets
- Module LibOrm
Mise en place de la structure des dossiers dans le skin
Voici un exemple de dossiers et de fichiers nécessaires à la mise en place de la publication structurée. Par convention, nous nommerons de la même manière le fichier ovml et le xsd. exemple : nom_du_theme_foo.ovml et nom_du_theme_foo.xsd
- A la racine du thème, un dossier structures répertoriant les fichiers xsd nécessaires pour la structure des données.
- Dans le dossier ovml, les fichiers "ovml" nécessaires pour le rendu des données.


