====== Thèmes ====== Cette page est destinée à la personnalisation ou la création de thèmes. Si vous cherchez des thèmes déjà réalisés, référez-vous à la documentation [[..:admin:themes|Habillage du blog]]. ===== Guide d'utilisation des thèmes ===== ==== Mécanique générale ==== Chaque thème est un ensemble de fichiers rangés dans un sous répertoire de /themes sur votre installation Dotclear. Ce sont ces fichiers qui, une fois interprétés par le moteur de template, vont produire les pages HTML en façade de votre blog. Vous trouverez ci-dessous le détail des différents fichiers ==== Organisation des fichiers ==== === La fiche d'identité du thème === Nommé **_define.php** ce fichier accueille le nom du thème, sa description, son auteur et son numéro de version. Rédigez-le de préférence en anglais en suivant le même schéma que pour [[.:plugins:tutorial#definition-d-un-plugin|un plugin]]. === Capture d'écran du thème === Si le répertoire du thème contient un fichier appelé **screenshot.jpg**, cette image sera affichée sur la page de sélection du thème. Elle permet d'avoir un aperçu du thème. L'image doit mesurer 280 pixels en largeur et 245 pixels en hauteur. ==== Les fichiers templates ou de « contexte » ==== Ces fichiers sont rangés dans un sous-répertoire //tpl//, dans le répertoire du thème. Il est possible que certains thèmes ayant été conçus avant la version RC1 ne suivent pas cette organisation. Il suffit alors de créer le répertoire //tpl// et d'y mettre les fichiers .html pour que le thème fonctionne correctement. Ils seront appelés en fonction du contexte de la page dont on demande l'affichage * **home.html** : liste tous les billets publiés (par défaut, du plus récent au plus ancien) * **post.html** : affiche le contenu d'un billet (avec ses commentaires, notes, pièces jointes, rétroliens) * **category.html** : liste tous les billets d'une catégorie ou d'une sous-catégorie * **archive.html** : liste les mois comportant des billets * **archive_month.html** : liste tous les billets d'un mois * **tags.html** : liste de tous les tags saisis * **tag.html** : liste tous les billets d'un tag * **search.html** : liste tous les billets après une requête de recherche * **404.html** : la page appelée en cas d'erreur Chaque plugin créant un autre contexte doit prévoir son propre fichier .html. C'est le cas pour ceux par exemple des plugins dayMode et contactMe. === Les fichiers inclus dans les « fichiers de contexte » === Certains éléments sont récurrents, autant les faire une bonne fois pour toutes et les inclure dans la page de contexte qui nous intéresse. Ce sont les fichiers dont le nom est précédé d'un underscore. Exemple _footer.html. * **_head.html** : l'appel des feuilles de style et des scripts jQuery * **_top.html** : l'entête du blog * **_footer.html** : le pied de page * **_flv_player.html** : le lecteur de vidéo * **_mp3_player.html** : le lecteur mp3 Une class spécifique est attribuée à la balise pour chaque fichier contexte ; on peut donc très facilement modifier la présentation d'un contexte spécifique à l'aide de cette class. Rien n'empêche de retirer l'appel à un fichier inclus pour placer directement dans tel ou tel contexte un contenu qu'on voudrait différent uniquement pour ce contexte. - rien n'empêche non plus de créer un fichier _pouetpouet.html à inclure dans les fichiers contexte pour un élément que vous voudriez récurrent. === Ordre de lecture des fichiers === Le moteur va chercher le fichier dont il a besoin d'abord dans le répertoire du thème désigné par l'utilisateur. S'il ne s'y trouve pas, il ira piocher dans le répertoire du thème par défaut. Le cas des templates des flux Atom et RSS est un peu plus particulier. Ceux-ci sont situés dans le repertoire ''/dotclear/inc/public/default-templates/''. Rien n'empêche bien sûr de les ajouter à son propre thème pour les remplacer. Deux choses en découlent : * si l'on ne veut modifier la structure que d'un contexte il suffit d'ajouter son fichier personnalisé dans le sous-répertoire //tpl// de son thème * il est inutile, voire contre-productif de créer un thème depuis la copie complète de tous les fichiers du thème par défaut. ===== Les balises template ===== Outre le code xhtml, les fichiers template de Dotclear utilisent une syntaxe spécifique pour appeler des fonctions de traitement et/ou d'affichage. Ces « tags » ainsi que leurs attributs sont listés et décrits [[.themes:tags|dans cette section]]. La création d'une balise template est expliquée [[.:tpl|dans cette autre section]]. ===== Annexes ===== {{{pagetoc .:themes:appendices }}}