Cette page s'adresse à qui veut sortir des réglages. Elle suppose que vous savez lire du HTML et du CSS.
Le CSS personnalisé
Système → Styles de site → Corpus, onglet Paramètres avancés, groupe CSS personnalisé. C'est le bon endroit pour une retouche courte et propre à un site.
L'éditeur est CodeMirror, livré avec Joomla : coloration syntaxique, numéros de ligne, et F10 pour passer en plein écran. Rien n'est téléchargé en plus, et rien de tout cela ne part sur le site public : c'est de l'administration seule.
Votre CSS est ajouté en dernier, après la feuille de Corpus. À spécificité égale, il gagne : vous n'avez donc pas besoin de surenchérir en sélecteurs.
Il appartient à CE style. Si vous créez un second style, pour une variante de page d'accueil, par exemple, il n'aura pas ce CSS. C'est volontaire : une retouche propre à une section de site ne doit pas déborder sur les autres.
Écrivez des jetons, pas des règles. Corpus expose toutes ses valeurs en propriétés CSS personnalisées. Plutôt que de battre un sélecteur, redéfinissez la valeur qu'il lit :
:root {
--forme-carte-angle: 0; /* des cartes à angles droits */
--filet-part: 50%; /* un filet plus court */
--largeur-page: 1320px; /* mais préférez le champ du Layout */
}
Une règle qui a besoin de !important pour gagner signale presque toujours qu'on s'y prend mal.
Le template enfant
Pour aller au-delà, Joomla sait faire hériter un template d'un autre. L'enfant ne contient que ce qu'il change ; tout le reste vient de Corpus, y compris les mises à jour.
Corpus déclare l'héritage : le bouton Créer un template enfant est disponible dans Système → Templates de site. Un fichier absent de l'enfant est cherché chez le parent : c'est vrai des gabarits comme des feuilles de style et des images. Vous ne recopiez que ce que vous changez.
Sur la différence entre un style, une copie de style et un template enfant, et sur la question à se poser pour savoir lequel il vous faut, voir Styles, copies et templates enfants.
Un enfant sert à trois choses, dans cet ordre de fréquence :
- Redéfinir des jetons : ses propres formes, ses propres espacements.
- Surcharger un gabarit que Corpus ne surcharge pas.
- Ajouter des positions ou changer la structure de
index.php.
Si vous n'avez besoin que du premier point, un style suffit : voir la Variante de forme dans L'apparence.
Les surcharges de gabarit
Corpus surcharge déjà une vingtaine de gabarits du cœur. Ils vivent dans html/, rangés par composant ou par module : html/com_contact/contact/, html/mod_menu/, etc.
Pour en ajouter une, passez par Système → Templates de site → Corpus → Créer une surcharge, qui copie le fichier du cœur au bon endroit.
Attention : une surcharge ajoutée là sera écrasée à la prochaine mise à jour. Créez-la dans un template enfant : le bouton Créer une surcharge est proposé sur l'enfant comme sur le parent, et ce que vous y déposez survit aux mises à jour de Corpus.
Les blocs rédactionnels
Les quinze blocs livrés sont de simples fichiers HTML dans html/tinymce/. Vous pouvez en ajouter : un fichier .html déposé là apparaît dans le bouton Insérer un modèle de TinyMCE. Le nom du fichier fait le nom du bloc, la liste est alphabétique.
Une règle à respecter si vous en écrivez. Aucun style de votre bloc ne doit dépendre d'une classe saisie à la main : TinyMCE efface les <svg> au premier enregistrement, garde les classes et les commentaires, et un rédacteur qui recolle du contenu perd ce qu'il ne voit pas. Faites porter le dessin par l'élément, pas par la classe.
Les pictogrammes
Vingt-cinq pictogrammes SVG, dessinés à la main, dans html/layouts/corpus/pictogrammes.php. Ils prennent la couleur du texte, il n'y a aucune police d'icônes à charger.
Pour en poser un dans un menu : champ Classe de l'icône du lien, avec le nom du symbole : i-accueil, i-recherche, i-etiquette…
Pour en ajouter un, ajoutez un <symbol id="i-monicone"> au fichier, dans un template enfant.
Emporter vos réglages
Style → Paramètres avancés → Sauvegarde et transport. Cette section-ci ne demande aucun code.
Un style Corpus porte près de deux cents réglages. Les reprendre à la main sur un second site prend une heure, et se trompe. Ici, un bouton produit un fichier .json dans vos téléchargements, et de l'autre côté un sélecteur de fichier le reprend.
Deux portées, côte à côte, exactement le même mécanisme :
- à gauche, tout le style : la teinte, la typographie, le layout, les positions, le CSS personnalisé, les templates blog et article, tout ce que le style a enregistré ;
- à droite, les seuls templates article : le template par défaut du site, vos templates et votre liste de classes de briques, sans rien d'autre. C'est la portée qu'on veut quand on a composé une belle fiche recette et qu'on la veut ailleurs, sans emporter les couleurs d'un autre site.
Sous chaque bouton, une ligne dit ce que le fichier contient : 187 réglages, 14,4 Ko, ou 1 template, 7 rangées, 18 briques, 3 classes (7,4 Ko). On sait ce qu'on emporte avant de cliquer.
Ce que l'export n'emporte pas
Il lit les réglages enregistrés, pas ce qui est affiché à l'écran : si vous venez de changer quelque chose, enregistrez d'abord.
Il n'emporte ni l'affectation des menus, ni celle des templates aux catégories. Ces deux-là ne vivent pas dans le style mais dans les tables de Joomla, et un identifiant d'élément de menu ne vaut rien sur un autre site : les reprendre poserait des liens vers des menus qui n'existent pas.
Ce que l'import fait, exactement
Choisissez le fichier, puis enregistrez. Rien n'est écrit avant.
- Chaque réglage du fichier remplace celui du style.
- Un réglage absent du fichier, ou présent mais vide, est laissé tel quel. Un import n'efface donc jamais rien, et c'est ce qui protège votre CSS personnalisé quand le fichier vient d'un site qui n'en avait pas. Le revers : un import ne peut pas vider un réglage, il faut le faire à la main.
- Ce que votre version ne connaît pas est ignoré, et le nombre vous est dit. Un fichier venu d'une version plus récente ne casse rien.
- Le champ se vide après l'enregistrement : on n'importe pas deux fois en enregistrant deux fois.
Une réserve pour la portée templates : la liste des templates est remplacée, pas complétée, et votre liste de classes de briques avec elle.
Le retour en arrière, c'est l'export d'en face. Avant d'importer, un clic sur le bouton d'export du même côté vous donne l'état actuel. Gardez ce fichier : c'est votre sauvegarde.
Les mises à jour
Réinstallez le zip par-dessus. Les styles, leurs réglages et vos surcharges d'un template enfant sont conservés.
Ce qui n'est pas conservé : toute modification faite directement dans les fichiers de templates/corpus/. C'est la raison d'être du template enfant.
À jour pour Corpus 2.1.43.