You are not logged in.
Bonjour,
(Oui, je sais, ça fait longtemps... ^^)
Je m'arrache les cheveux depuis un moment sur un problème, j'ai besoin d'un coup de main
Je veux que, quand on place un article dans une zone précise (invisible-zone-sidebar-1), cela affiche l'article, et en dessous, la PJ affectée à l'article (PJ du contenu, pas de la page) en question - avec un lien de téléchargement du fichier joint.
J'ai donc utilisé le resolver prévu à cet effet :
<xsl:variable name="contenuId" select="/cms/page/pageContents/zone[@name='invisible-zone-sidebar1']/zoneItem[1]/information/contentId" />
<xsl:for-each select="ametys:contentAttachments($contenuId)/resource">
<a href="{resolver:resolve(attachment-content, @id, true())}" title="{@name}">Télécharger le fichier</a>
</xsl:for-each>
Coté Front office, j'obtiens çà :
<a title="fichier.pdf" href="resource://c9489f71-9478-412d-befb-43cae5544d03">Télécharger le fichier</a>
Je précise que je travaille dans le fichier main.xsl, là où j'ai déclaré ma zone.
J'ai bien déclaré xmlns:resolver="org.ametys.cms.transformation.xslt.ResolveURIComponent" dans l'en-tête et le préfixe "resolver" est là également.
Merci d'avance pour votre aide
Last edited by RSellin (27/02/2017 17:51:47)
Offline
Bonjour,
Le "resolver" Ametys se comporte ainsi lorsqu'il ne trouve pas le type à résoudre
L'erreur que je vois ici (si vous avez copier-coller exactement ce que vous avez écrit dans la XSL), c'est que "attachment-content" n'est pas entouré de simple cotes et donc n'est pas interprété comme une chaine de caractère
<a href="{resolver:resolve('attachment-content', @id, true())}" title="{@name}">Télécharger le fichier</a>
Laurence Aumeunier
Ametys Expert
Offline
Arf, j'ai essayé avec les quotes également, sans résultat...
Je suis sur une 3.5, je sais pas si ça peut expliquer le souci ?
Offline
Vous parlez du front, est-ce que coté back-office le lien fonctionne ?
Laurence Aumeunier
Ametys Expert
Offline
Non, front et back, même topo
Offline
Je me demande si le problème ne vient pas du fait que vous essayez de résoudre le lien en dehors du contexte du contenu, puisque vous êtes au niveau de la charte graphique. Le resolver a besoin de connaitre de quel contenu il s'agit pour résoudre correctement le lien.
Un moyen de tester déjà que ca fonctionne bien avec une 3.5, çà serait d'ajouter le lien directement dans la vue du contenu (vue main) et voir si dans ce cas, çà marche.
Si oui, vous pourriez faire une nouvelle vue et utiliser cette vue dans la zone en question ?
Laurence Aumeunier
Ametys Expert
Offline
Vous avez raison, en passant directement par la vue (main, en l'occurrence), tout s'affiche correctement.
Alors créer une vue spécifique, ça m'ennuie un peu, dans le sens où elle sera disponible pour tous les sites et pas "limitée" à cette charte graphique...
Je vais peut être m'orienter vers un nouvel affichage de la remontée de contenu, pour plus de souplesse.
Je passe le sujet en résolu, merci Laurence
Offline