Forum Ametys

Forum de la communauté Ametys

You are not logged in.

#1 08/01/2016 16:56:39

RSellin
Guest
Registered: 29/08/2012
Posts: 59

[Résolu]Personnaliser l'affichage de l'offre de formation

Bonjour,

Je suis en train de personnaliser le service Liste des formations avec les domaines en niveau 1 et les diplômes en niveau 2 (je suis sur Ametys ODF 2.2.0 / CMS - 3.5.3).
J'obtiens donc, pour chaque domaine :

Arts, Lettres, Langues

Et voici ce que j'aimerai obtenir :

Arts, Lettres, Langues

Du coup, dans la surcharge de mon service, pour essayer de pointer vers la liste des diplômes de chaque domain.
Apparemment, l'URL suivante est accessible et répond à mon besoin :

<URL DU SITE>/formations/catalogue/licence-lmd-XA/arts-lettres-langues-ALL.html

Dans ma XSL, j'ai donc essayé de suivre le fichier d'origine en tentant :

 <a href="{$site-uri-prefix}/{$lang}/{/xml/programs/@root-page-path}/{@degree}/{@domain}.html><xsl:value-of select="value"/></a>

Ce qui me retourne, comme URL :
<URL DU SITE>/formations/catalogue//.html

Comment puis-je récupérer l'URL proprement - et sans m'arracher les cheveux, si possible ^^

Last edited by RSellin (11/01/2016 15:04:22)

Offline

#2 11/01/2016 10:43:23

Laurence Aumeunier
Expert Team
Registered: 10/08/2010
Posts: 142

Re: [Résolu]Personnaliser l'affichage de l'offre de formation

Bonjour,

Dans la version 2.2 de l'ODF, l'arborescence de l'offre de formation est toujours organisée en diplôme puis domaine de formation.
A partir de la version 2.4 de l'ODF, il possible de choisir sur quels champs (nécessairement  énumérés) organiser l'arborescence de l'ODF. Par exemple on peut imaginer d'organiser par domaine puis diplome, ou encore par composante puis domaine, ...

Le service liste des formations n'est donc pas très adapté à ce que vous souhaitez faire, car l'URL de la page de la liste des diplome par domaine dépend du choix d'organisation. Cette page peut par ailleurs ne pas exister si il n'a pas été choisi de construire l'arborescence par diplome puis domaine.

En 2.2, ceci étant figé, cela reste possible mais ce n'est qu'un détournement du service.
Dans Ametys, chaque page possède son propre identifiant et il est possible d'obtenir son URL via cet identifiant.
L'identifiant d'une page "domaine" en 2.2 est sous la force : domain://[degree]/[domain]?rootId=...
Par exemple : domain://XA/ALL?rootId=...
rootId étant l'identifiant de la page racine de l'ODF.

Pour pouvoir faire ce que vous souhaitez, il faudrait donc écrire

<a href="{resolver:resolve('page', 'domain://XA/ALL?rootId=...}">Licence LMD</a>

Reste que je ne suis pas sure qu'en 2.2, il soit possible de facilement récupérer la valeur de rootId ...
Pour savoir ce que fournit le service en entrée de la XSL, le mieux est de faire un <xsl:copy-of select="/"/> dans la XSL.
La valeur du code "degree" et "domain" doit pouvoir être récupérer à partir d'un élément <program>.


Laurence Aumeunier
Ametys Expert

Offline

#3 11/01/2016 15:04:03

RSellin
Guest
Registered: 29/08/2012
Posts: 59

Re: [Résolu]Personnaliser l'affichage de l'offre de formation

Merci, Laurence, pour cette réponse détaillée.

Le projet de migration vers la version 3.7 du CMS (et donc vers une version plus récente de l'ODF) répondra je pense à nos besoins.
D'ici là, j'ai triché un peu en créant 2 variables pour qui traduisent les code Domaine et Diplôme en format long.

Pour le diplôme: UB devient diplome-universite-niv-form-bac-1-UB
Pour le domaine : ALL devient arts-lettres-langues-ALL

Tout marche et on avance tranquillement dans notre migration.
Merci pour tout en tout cas smile

Offline

Board footer

Powered by FluxBB