You are not logged in.
Pages: 1
Bonjour,
Est-il possible de changer la taille des images générées (par défaut 150x150).
J'ai vu que ce paramètre était modifiable dans le fichier content2rss.xsl, mais ou le place-t-on que la surcharge se fasse !!! Une journée que j'y suis dessus...
Merci
Offline
Bonjour,
Quelle version d'Ametys utilisez-vous ?
Pour les versions 3.7 ou inférieures, il n'est pas possible de surcharger le contenu du fil RSS.
A partir de la version 3.8, il est possible de surcharger le RSS par type de contenu :
skins\[SKIN]\stylesheets\content\[ID_TYPE_CONTENU]\[ID_TYPE_CONTENU]2rss.xsl
Par exemple, pour surcharger le fils RSS pour les actualités, il faut écrire la surcharge dans
skins\[SKIN]\stylesheets\content\org.ametys.web.default.Content.news\org.ametys.web.default.Content.news2rss.xsl
Laurence Aumeunier
Ametys Expert
Offline
Bonjour,
Je cherche aussi à modifier la construction du flux RSS dans mon modèle de charte (taille des images entre autres).
Mon problème est que je n'arrive pas à surcharger le xsl existant, même en me basant sur les conseils ci-dessus.
Mon chemin est : cms/models/[nom-de-mon-modele]/stylesheets/content/news, le nom du fichier est news2RSS.xsl et je mets à jour une charte test.
J'ai également testé cms/models/[nom-de-mon-modele]/stylesheets/content/org.ametys.web.default.Content.news/org.ametys.web.default.Content.news2rss.xsl
Peut-être aussi que le code que j'ai repris ne convient pas? J'ai utilisé le suivant en rajoutant " - test1" dans le titre:
Je précise que je suis en version 3.8.4 avec une installation multi-sites.
Merci de votre aide
Last edited by damien (17/10/2018 14:52:47)
Offline
Bonjour,
Le problème je pense est que vous modifiez le modèle de charte (cms/models/[nom-de-mon-modele]/***) au lieu de la charte (cms/skins/[NOM_SKIN]/ ***).
Qu'est-ce que vous réappliquez le modèle à votre charte après votre modifications ?
Si non c'est normal que vous ne voyez pas vos modifications. Il faut soit réappliquer le modèle, soit travailler directement sur les fichiers de la charte (cms/skins/[NOM_SKIN]/ ***).
Laurence Aumeunier
Ametys Expert
Offline
Pour ce qui est de réappliquer le modèle, je le fais à chaque fois. Et je souhaite mettre à jour mes chartes grâce au modèle (j'ai actuellement 24 chartes en production qui dépendent de ce modèle).
Offline
J'ai testé à nouveau sur une version 3.8, cela fonctionne pour moi.
Pour le rendu d'un fil RSS, Ametys va rechercher dans l'ordre les fichiers suivants :
- skin://stylesheets/content/org.ametys.plugins.news.Content.news/org.ametys.plugins.news.Content.news2rss-abstract.xsl
- skin://stylesheets/content/org.ametys.plugins.news.Content.news/org.ametys.plugins.news.Content.news2rss.xsl
- context://WEB-INF/param/content-types/web/stylesheets/org.ametys.plugins.news.Content.news/org.ametys.plugins.news.Content.news2rss-abstract.xsl
- context://WEB-INF/param/content-types/web/stylesheets/org.ametys.plugins.news.Content.news/org.ametys.plugins.news.Content.news2rss.xsl
- plugin:web://stylesheets/content/org.ametys.plugins.news.Content.news/org.ametys.plugins.news.Content.news2rss-abstract.xsl
- plugin:web://stylesheets/content/org.ametys.plugins.news.Content.news/org.ametys.plugins.news.Content.news2rss.xsl
- plugin:web://stylesheets/default-content2rss.xsl
- plugin:cms://stylesheets/default-content2rss.xsl
L'algorithme s'arrête au 1er fichier existant, sinon il passe au suivant.
J'ai ajouté le fichier suivant dans ma charte skins\[SKIN]\stylesheets\content\org.ametys.plugins.news.Content.news\org.ametys.plugins.news.Content.news2rss.xsl
Le fichier contient :
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:i18n="http://apache.org/cocoon/i18n/2.1"
xmlns:ametys="org.ametys.web.transformation.xslt.AmetysXSLTHelper"
xmlns:resolver="org.ametys.cms.transformation.xslt.ResolveURIComponent"
exclude-result-prefixes="ametys resolver">
<xsl:import href="plugin:web://stylesheets/default-content2rss.xsl"/>
<xsl:template match="content">
<item>
<title>TEST OVERRIDE <xsl:value-of select="metadata/title"/></title>
<xsl:if test="//pages/page">
<link><xsl:value-of select="resolver:resolve('page', //pages/page/@id, false(), true())"/></link>
</xsl:if>
<language><xsl:value-of select="@language"/></language>
<guid isPermaLink="false"><xsl:value-of select="$contextPath"/>/_wrapped-content/<xsl:value-of select="@name"/>.html</guid>
<pubDate><i18n:date pattern="EEE, d MMM yyyy HH:mm:ss Z" src-pattern="yyyy-MM-dd'T'HH:mm:ss" locale="en_EN"><xsl:value-of select="@lastValidatedAt"/></i18n:date></pubDate>
<rawDate><xsl:value-of select="@lastValidatedAt"/></rawDate>
<description>
<xsl:if test="metadata/illustration/image">
<img src="<xsl:value-of select="resolver:resolveBoundedImage(metadata/illustration/image/@type, metadata/illustration/image/@path, 250, 250, false(), true())"/>" alt="<xsl:value-of select="metadata/illustration/alt-text"/>" style="float: left; margin-right: 5px" />
</xsl:if>
<xsl:apply-templates select="metadata/abstract/node()" mode="escape"/>
</description>
</item>
</xsl:template>
</xsl:stylesheet>
Mon fils RSS sur mes actualités contient bien la modification (TEST OVERRIDE devant le titre).
Pouvez-vous vérifier :
Laurence Aumeunier
Ametys Expert
Offline
Bonjour,
Merci pour votre précieuse aide. En effet, après plusieurs tests, j'ai pu vérifier que votre code fonctionne pour une remontée de contenus ne comportant que des contenus de type "news" (c'est affiché dans le nom du fichier "news2rss.xsl). J'ai également résolu un autre problème que j'avais concernant les remontées de contenu type "article" puisque dans ce cas le chemin est:
skins\[SKIN]\stylesheets\content\org.ametys.web.default.Content.article\org.ametys.web.default.Content.article2rss.xsl
et non org.ametys.plugins.article.Content.article2rss.xsl comme j'essayais au départ.
Last edited by damien (08/11/2018 16:02:21)
Offline
Pages: 1