You are not logged in.
Bonjour,
Sur ma page d'accueil, j'ai une remontée de contenu paramétrée dans le template, par exemple, pour afficher les contenus qui ont une étiquette "agenda"
<xsl:if test="/cms/inputData/Model/home-agenda/content">
<div class="agenda">
<h2><i18n:text i18n:key="SKIN_INDEX_TEMPLATE_AGENDA_TITLE" i18n:catalogue="skin.{$skin}"/></h2>
<div class="list-agenda">
<ul class="media-list">
<xsl:for-each select="/cms/inputData/Model/home-agenda/content">
<li class="media">
<xsl:copy-of select="html/body/node()"/>
</li>
</xsl:for-each>
</ul>
avec un filtre
<filters>
<filter id="home-agenda" target="content">
<context type="current-site" lang="current"/>
<content-types>
<type id="org.ametys.plugins.news.Content.news" />
</content-types>
<tags>
<tag key="AGENDA_ACCUEIL"/>
</tags>
<view>home-agenda</view>
<max-result>3</max-result>
<mask-orphan>true</mask-orphan>
<sort-information>
<sort metadataId="start-date" ascending="true"/>
</sort-information>
<metadata condition="OR">
<metadata id="start-date" type="date" operator="gte">today</metadata>
<metadata id="end-date" type="date" operator="gte">today</metadata>
</metadata>
</filter>
</filters>
Si je souhaite faire remonter les contenus qui sont sur plusieurs sites, avec la même étiquette, quel paramètre faut-il utiliser ?
Last edited by nicolasbrunet (23/03/2017 13:06:30)
Webmestre de l'université de Cergy-Pontoise
Offline
Bonjour,
Pour le contexte de recherche il y a 4 possibilités :
Dans le filtre statique, pour tous les sites il faut donc mettre <context type="all-sites" lang="current"/>.
Par contre il n'est pas possible de lister des sites en particulier.
Doc wiki :
Laurence Aumeunier
Ametys Expert
Offline
Merci. Je note dans ce cas de figure.
Mais lorsque l'on fait "appel" à une étiquette dans un template, comme par exemple :
<xsl:template name="acces">
<xsl:if test="/cms/inputData/sitemap//page[@PLUGIN_TAGS_ACCES and not(@sitemap:invisible = 'true')]">
<div class="acces">
<xsl:for-each select="/cms/inputData/sitemap//page[@PLUGIN_TAGS_ACCES and not(@sitemap:invisible = 'true')]">
<a class="btn btn-default" href="{@sitemap:path}.html">
<xsl:value-of select="@sitemap:title"/>
</a>
</xsl:for-each>
</div>
</xsl:if>
</xsl:template>
est-ce que le test :
<xsl:if test="/cms/inputData/sitemap//page[@PLUGIN_TAGS_ACCES and not(@sitemap:invisible = 'true')]">
recherche dans le site courant ou dans tous les sites ?
Webmestre de l'université de Cergy-Pontoise
Offline
Bonjour,
le SitemapInputData (/cms/inputData/sitemap) ne renvoie qu'une *partie* des pages du site courant et dans la langue courante uniquement. C'est à utiliser avec parcimonie.
Sinon, il existe ametys:findPagesIdsByTag () qui recherche une page étiquetée.
Raphael Franchet
Expert Ametys
Offline
Bonjour,
le SitemapInputData (/cms/inputData/sitemap) ne renvoie qu'une *partie* des pages du site courant et dans la langue courante uniquement. C'est à utiliser avec parcimonie.
Sinon, il existe ametys:findPagesIdsByTag () qui recherche une page étiquetée.
Et pour un contenu ?
Webmestre de l'université de Cergy-Pontoise
Offline
Non il n'y a pas d'équivalent autre que le filtre.
Là je répondais juste à votre dernier point qui cherchait des étiquettes sur une page.
Raphael Franchet
Expert Ametys
Offline
Bonjour,
J'ai effectué des tests sur une étiquette de charte commune à plusieurs sites, en modifiant le filtre sur <context type="all-sites" lang="current"/> et en effet, pour cela ça fonctionne sans problème.
Mon problème est sur le service de remontées de contenus.
Dans mon site, j'ai par exemple des pages dans lesquelles j'ai paramétré des remontées de contenus sur une étiquette (ici, non définie dans la charte, mais créée dans le back-office d' Ametys), par exemple avec une étiquette dont l'id est "ACTU_UNIVERSITE"
Dans un autre site, j'ai mis ce même identifiant d'étiquette (ACTU_UNIVERSITE) dans les tags de la charte graphique.
Malheureusement, lorsque dans mon site initial, je veux modifier les paramètres du service de remontée de contenus, je ne peux pas choisir cette étiquette "commune"... comment faire alors pour facilement afficher des remontées de contenus avec des étiquettes communes à plusieurs sites ?
Merci de votre aide.
Last edited by nicolasbrunet (29/03/2017 11:59:18)
Webmestre de l'université de Cergy-Pontoise
Offline
Pour avoir des étiquettes communes à tous les sites, il faut les déclarer de manière statique, dans un plugin.xml
Laurence Aumeunier
Ametys Expert
Offline
Pour avoir des étiquettes communes à tous les sites, il faut les déclarer de manière statique, dans un plugin.xml
Merci, mais les informations sur le wiki sont plus que limitées... honnêtement, sans un expert "confirmé" Ametys, je ne vois pas comment faire...
Last edited by nicolasbrunet (30/03/2017 10:11:21)
Webmestre de l'université de Cergy-Pontoise
Offline