Création et paramétrage d'un modèle de chartev1.0.0, v1.1.0, v1.2.0, v1.3.0
Dernière publication:04/03/2019à 10:30LaureLopez
Cette page est destinée aux intégrateurs ayant un minimum connaissances en HTML, CSS, XML, XSL, I18N … et familiers avec l'intégration d'une charte graphique Ametys. Voir la page Intégration graphique.
Le paramétrage d'une charte graphique passe par le paramétrage de son modèle. Autrement dit, une charte ne peut être paramétrable et être personnalisée via l'atelier charte graphique que si elle est liée à un modèle de charte.
La charte graphique devient une "instance" du modèle.
Un modèle possède un répertoire supplémentaire nommé "model" avec :
les paramètres de variantes : model/variants/**
les paramètres d'images : model/images/**
le fichier de configuration du ribbon avec l'ensemble des paramètres : model/cms-ribbon.xml
le fichier des couleurs et thèmes de couleur : model/colors.xml
le fichier des styles css disponibles: model/css-styles.xml
le fichier des valeurs par défaut: model/default-css.xml
Les 4 derniers fichiers sont des fichiers de configuration. Ils sont détaillés plus loin au chapitre Fichiers de configuration du modèle.
Paramétrage d'un modèle de charte graphique
Paramètres de styles (resources/css/*.css)
Les paramètres CSS permettent de modifier les éléments de styles: police, taille de police, couleur, styles de caractères (gras, italique, souligné), marges, couleur de fond, alignement, ...
Un paramètre de style se déclare directement dans le fichiers CSS, sur la même ligne que la propriété CSS paramétrable, sous forme d'un commentaire, de la manière suivante:
Attention Le paramètre css doit apparaitre sur une seule ligne et sans accolades. Par exemple, un paramètre déclaré de la manière suivante ne sera pas détecté:
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
body{ background-color: #ffff00/* AMETYS ("page.body.bgcolor", "Couleur de fond") */; }
body{ background-color: #ffff00/* AMETYS ("page.body.bgcolor", "Couleur de fond") */; }
body{ background-color: #ffff00/* AMETYS ("page.body.bgcolor", "Couleur de fond") */; }
écrivez plutot:
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
body{
background-color: #ffff00/* AMETYS ("page.body.bgcolor", "Couleur de fond") */;
}
body{
background-color: #ffff00/* AMETYS ("page.body.bgcolor", "Couleur de fond") */;
}
body{
background-color: #ffff00/* AMETYS ("page.body.bgcolor", "Couleur de fond") */;
}
Important Le même paramètre css peut être présent à plusieurs endroits du même fichier css ou dans plusieurs fichiers css. Cas d'application: le choix de la couleur du titre de niveau 1 s'applique à la fois dans la css principale (ametys.css), la css mobile (ametys-mobile.css) et dans les css pour l'édition wysiswyg (editor-content.css).
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
Les paramètres de variantes sont utilisés pour les cas complexe, lorsqu'il est nécessaire de remplacer un ou plusieurs fichiers (XSL, images, fichiers css, javacripts, ....).
Dans le répertoire model/variants du modèle on trouve un sous-répertoire par paramètre de variante. Le nom du répertoire est l'identifiant du paramètre.
Le répertoire model/variants/[VARIANT] contient autant de répertoires que de valeur possible pour cette variante.
Chaque répertoire model/variants/[VARIANT]/[VALUE] contient des fichiers qui reproduise l'arborescence racine d'une skin et qui seront ajoutés à celle-ci (et écrasés le cas échéant) lors de l'application de cette variante.
Dans l'atelier charte graphique, chaque variante est représentée par une galerie (menu). Les éléments de la galerie sont constitués des différentes valeurs possibles pour cette variante.
Facultativement le répertoire model/variants/[VARIANT] peut contenir des icônes au format PNG, thumbnail_32.png (32 x 32 pixels) et thumbnail_16.png (16 x 16 pixels) qui seront utilisés pour le menu généré. Ce répertoire peut contenir aussi un fichier VARIANT.xml pour le libellé et la description du menu (avec ou sans clés i18n)
Facultativement également le répertoire model/variants/[VARIANT]/[VALUE] peut contenir une image au format PNG sous la forme [VALUE].png qui sera utilisée pour l'élément de la galerie. Ce répertoire peut aussi contenir un fichier VALUE.xml pour le libellé et la description de l'élément du menu (avec ou sans clés i18n)
Illustration par un exemple :
Voici ci-après, un exemple de paramètres de variantes définissant 3 variantes pour le menu latéral ("vmenu"):
avec une bordure séparant les éléments du menu (variante "borders"),
avec une image de fond sur les éléments du menu (variante "boxes"),
simple, sans bordure ni couleur de fond (variant "simple")
Déclaration du paramètre
Élément du ruban
Effet sur la charte graphique
Le fichier vmenu.xml contient le libellé et la description du paramètre :
Fichier vmenu.xml
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
Les fichiers [VALUE].xml (simple.xml, borders.xml et boxes.xml) contiennent le libellé et la description de la variante, qui apparaissent dans la galerie. Exemple avec le fichier simple.xml:
Fichier simple.xml
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
Lors de l'application de la variante "boxes" par exemple, l'ensemble des répertoires et fichiers du répertoire model/variant/vmenu/boxes sont copiés dans le répertoire de la version de travail de la charte skins/[NOM_CHARTE].
Paramètres d'images (model/images/xxx)
Un paramètre de type image est un paramètre de variantes mais limité à une image.
Les paramètres de type image sont déclarés dans le répertoire model/images du modèle.
Dans ce répertoire, chaque image paramétrable est représentée par un répertoire du nom de l'image, dont le chemin est identique au chemin relatif au répertoire resources/img de la charte. Ce répertoire contient l'ensemble des images de choix. Les images peuvent être classés par sous-dossiers.
Ce répertoire de la variante peut contenir un fichier [filename].xml pour le libellé et la description du menu (avec ou sans clés i18n)
Illustration par un exemple :
Voici ci-après un exemple de paramètre de type image permettant de modifier la bannière de la charte.
Déclaration du paramètre
Élément du ruban
Effet sur la charte graphique
Fichier header.xml
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
Le modèle propose 8 bannières classées dans 2 groupes ("Abstrait" et "Nature"),
Pour tout paramètre d'image il est possible de choisir sa propre image depuis son disque dur en cliquant sur "A partir du fichier".
Lors de l'application de ce paramètre, l'image resources/img/header.jpg est remplacée par l'image choisie.
Paramètres de texte (**/*.xsl)
Les paramètres de texte permettent de modifier des éléments de texte d'une XSL.
Ils peuvent être utilisés par exemple pour modifier une variable XSL ou du texte non traduit contenu dans une XSL.
Il se déclare directement dans le fichier XSL sous forme d'un commentaire de la manière suivante:
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
<xsl:variable name="foo">Paramètre de variable<!-- AMETYS("txt.params.foo", "Foo", "Description de foo") --></xsl:variable>
<xsl:variable name="foo">Paramètre de variable<!-- AMETYS("txt.params.foo", "Foo", "Description de foo") --></xsl:variable>
<xsl:variable name="foo">Paramètre de variable<!-- AMETYS("txt.params.foo", "Foo", "Description de foo") --></xsl:variable>
ou
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
<xsl:variable name="foo">Paramètre de variable<!-- AMETYS("txt.params.foo", I18N_FOO_LABEL, I18N_FOO_DESC) --></xsl:variable>
<xsl:variable name="foo">Paramètre de variable<!-- AMETYS("txt.params.foo", I18N_FOO_LABEL, I18N_FOO_DESC) --></xsl:variable>
<xsl:variable name="foo">Paramètre de variable<!-- AMETYS("txt.params.foo", I18N_FOO_LABEL, I18N_FOO_DESC) --></xsl:variable>
L'identifiant du paramètre doit être unique.
Le libellé est optionnel. Il peut s'agir d'une clé i18n définit dans le catalogue du modèle.
La description est optionnelle. Il peut s'agir d'une clé i18n définit dans le catalogue du modèle.
Pour les clés i18n, il se déclare dans le fichier message.xml par défaut uniquement. Inutile de rappeler l'identifiant skinfactory dans chacune des langues. Une valeur par défaut est aussi nécessaire. Voir : Paramètres de traduction ci-dessus.
Exemple de déclaration
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
Organisation du ribbon (fichier model/cms-ribbon.xml)
Le fichier model/cms-ribbon.xml contient le ruban (ribbon) généré à partir des paramètres du modèle. On y retrouve tous les paramètres, avec leur identifiants, classés par onglets et groupes.
Exemple simple avec 3 paramètres
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
Vous n'avez pas besoin de créer ce fichier lors de la création de votre modèle, il sera généré automatiquement en fonction des paramètres du modèle à la première ouverture de l'atelier charte graphique.
Ce fichier peut cependant être modifié manuellement pour ré-organiser les paramètres dans des groupes / menus / sous-menu ou pour modifier les libellés et les icônes.
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
Le choix des identifiants de paramètres peut vous aider à organiser plus facilement les paramètres en onglets, groupes, menu ou sous-menu.
En effet, en fonction des identifiants, les paramètres seront organisés automatiquement en onglet / groupe / menu et sous-menu selon les conventions suivantes:
Format de l'identifiant
[onglet].[groupe].[item]
Le paramètre est placé dans l'onglet "onglet" et le groupe "groupe"
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
Le fichier model/cms-ribbon.xml est ré-généré à chaque modification du modèle. Les paramètres qui n'existent plus sont commentés. Les nouveaux paramètres sont rajoutés à la fin du fichier, à la fin d'un groupe ou d'un menu en fonction de leur identifiant.Les libellés et icônes sont conservées.
Exemple : Suppression du paramètre "header.slogan.size" et ajout du paramètre "header.menu.bgcolor"
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
Les menus et sous-menus sont tous générés avec une icône. Dans la mesure du possible l’icône est déduite en fonction de l'identifiant du menu.
Par exemple, soit 2 paramètres CSS dont les identifiant sont "content.text.link.color" et "content.text.link.text-decoration". Lors de la génération du fichier cms-ribbon.xml, ils seront automatiquement placés dans l'onglet "content", puis le groupe "content.text" puis le menu "content.text.link". L'icône automatiquement choisit pour le menu sera l'icône des liens (/plugins/skinfactory/resources/img/button/link_32.png) :
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
Si aucune icône ne peut être déduite de l'identifiant du menu, alors l’icône est utilisée.
Vous pouvez modifier les icônes utilisées dans les menus en spécifiant le chemin vers vos propres icônes. Quelques icônes sont fournies par le plugin. Les voici listées dans le tableau ci-dessous avec leur chemin.
Ce fichier contient les valeurs qui seront proposées dans les menus pour chaque styles css énumérés: font-family, font-size, border-style, border-width, letter-spacing, text-indent, line-height, width, height, margin, padding et depuis la version 1.2.0 border-radius, background-position and background-repeat
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
Pour chaque item, vous devez définir un label (<label>) et une valeur (<value>).
Vous pouvez ajouter une icone (<icon>) et/ou une classe css (<cssclass>)
Exemples de menus générés
Les valeurs par défaut (fichier model/default-values.xml)
Le fichier model/default-values.xml contient les valeurs par défaut des paramètres.
Pour les paramètres de type CSS, i18n ou texte, les valeurs par défaut peuvent être déduites respectivement du fichier css, messages.xml ou du fichier XSL où ils se trouvent. Il est donc inutile de les re-préciser dans ce fichier.
En revanche, ce n'est pas le cas pour les variantes et les images. Pour ces 2 types de paramètres, une valeur par défaut doit être spécifiée dans ce fichier.
Le fichier est construit comme ci-dessous:
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.
Le thème par défaut peut être également préciser ici, dans la balise <color-theme>.
Cas particulier des couleurs de thèmes
Pour les paramètres de type CSS référençant une couleur (color, border-color, background-color) il peut être utile ici de préciser une couleur par défaut si il s'agit d'une couleur choisit dans un thème.
En effet, pour les couleurs choisies dans un thème, ce n'est pas la couleur hexa qui est sauvegardée mais la position de la couleur dans le thème : color-theme-1, color-theme-2, color-theme-3, ...
Lors de la génération d'une charte graphique, les couleurs seront ainsi définies en fonction du modèle par défaut, et l'utilisateur pourra alors très simplement déclinée cette charte en choisissant une autre thème de couleur.
Oups !
La copie dans le presse papier a échouée. Ouvrez le code et copier-le manuellement.