Configuration des gabarits

Chaque gabarit peut disposer de 0 à n zone d'affichage. Certaines zones sont alimentées par des types de contenus ou services mis à disposition du contributeur. Il est possible de restreindre les types de contenus ou services disponibles par zone d'affichage et par gabarit.

La liste des types de contenus et services disponibles peut être configurée en fonction :

  • du type de site (Cf. Type of site )
  • du type de site et de la charte graphique associée
  • du type de site, de la charte graphique associée et du gabarit utilisé
  • du type de site, de la charte graphique associée, du gabarit utilisé et de la zone sélectionée

La liste des services disponible est définie dans un fichier nommé services-[siteType].xml

Il existe deux méthodes :

  • include : pour accepter uniquement les services listés dans le fichier. C'est le mode utilisé par défaut.
<?xml version="1.0" encoding="UTF-8"?>
<services mode="include">
	<service id="org.ametys.web.service.SitemapService"/>
	<service id="org.ametys.web.service.FrontSearchService"/>
	<service id="org.ametys.web.service.IframeService"/>
	<service id="org.ametys.service.Revamping"/>
	<service id="org.ametys.web.service.FilteredContentsService"/>
	<service id="org.ametys.web.service.InsertContentService"/>
	<service id="org.ametys.web.service.AttachmentsService"/>
</services>
  • exclude: pour accepter tous les services excepté ceux qui sont listés dans ce fichier
<?xml version="1.0" encoding="UTF-8"?>

<services mode="exclude">
	<service id="org.ametys.web.service.IframeService"/>
</services>

Cette liste de services autorisés peux être définie à 3 emplacements  :

  • dans le dossier WEB-INF/params : s'il est présent, ce fichier est utilisé pour lister les services disponibles avec ce type de site
  • dans le dossier cms/skins/[skinName]/conf : s'il est présent, ce fichier est utilisé pour lister les services disponibles avec cette charte graphique
  • dans le dossier cms/skins/[skinName]/template/[templateName]/conf : s'il est présent, ce fichier est utilisé pour lister les services disponibles sur toutes les pages utilisant ce gabarit et pour chacune des zones.

Dans ces deux premiers cas, la structure du fichier est telle que présentée précédemment. La structure du fichier est différente dans le troisième cas.

Le fichier placé dans le dossier cms/skins/[skinName]/template/[templateName]/conf doit suivre cette structure :

<?xml version="1.0" encoding="UTF-8"?>
<services>
    <!-- List of services included in or excluded from the template by default. -->
    <template mode="exclude">
        <service id="org.ametys.web.service.InsertContentService"/>
        <service id="org.ametys.web.service.FrontSearchService"/>
    </template>
    <!-- List of services included in or excluded from specific zones. -->
    <zones>
        <zone id="default" mode="exclude">
            <service id="org.ametys.web.service.InsertContentService"/>
            <service id="org.ametys.web.service.FrontSearchService"/>
        </zone>
        <zone id="right-column" mode="include">
            <service id="org.ametys.web.service.FilteredContentsService"/>
        </zone>
    </zones>
</services>

Noter que les balises "template" et "zones" ne sont pas obligatoires, mais l'une des deux au moins doit être précisée.
De la même façon, toutes les zones ne sont pas nécessairement définies, à défaut de précision, c'est la liste des services disponibles dans le gabarit qui est prise en considération.