Guide de création des thèmes

Introduction

DotClear n'utilise aucun moteur de template, mais un ou plusieurs fichiers PHP se trouvant dans le répertoire themes. Ce document va vous expliquer comment créer un nouveau thème à partir du thème par défaut.

Un nouveau thème

Vous allez commencer par créer un répertoire montheme dans le répertoire themes. La première chose à faire est un fichier desc.xml. Ce fichier XML a une syntaxe très simple, vous pouvez vous inspirer de celui se trouvant dans le thème default. Voici ce que vous pouvez y mettre :

<?xml version="1.0" encoding="ISO-8859-1"?>
<theme name="montheme" version="1.0" active="true">
  <author>Votre nom</author>
  
  <label>Mon thème</label>
  <desc>Mon superbe nouveau thème !</desc>
</theme>

Une fois ce fichier créé, copiez le fichier style.css du thème default dans votre dossier. Ensuite vous pourrez choisir d'utiliser ce thème depuis l'outil de gestion des thèmes ou de configuration du weblogue.

Votre thème est créé, félicitations !

Vous l'aurez compris, ça ne présente pour l'instant que peu d'intérêt car votre nouveau thème est l'exacte réplique de celui par défaut. Cette manoeuvre illustre simplement la première règle dans la création d'un thème :

Un thème n'a besoin que d'un fichier desc.xml et style.css pour fonctionner.

Si un thème n'a pas de fichier template.php, il utilisera celui du thème default ; il en va de même pour les émoticones, nous y reviendrons.

Maintenant que vous avez votre thème, vous pouvez changer la feuille de style pour l'adapter à vos besoins. Cette démarche est très intéressante car vous n'aurez besoin que de sauvegarder votre thème lors d'une mise à jour de DotClear (et la configuration mais cela va de soi).

Un nouveau modèle de mise en page

Parfois, changer la feuille de style ne suffit pas à répondre à tous vos besoins ; dans ce cas, vous devrez changer aussi le fichier template.php. Sur le même modèle que précédemment, vous copierez les fichiers form.php, list.php, post.php et template.php dans votre thème. Vous copierez aussi le fichier prepend.php, nous expliquerons ensuite son fonctionnement.

Ces fichiers contrôlent le code HTML généré par le thème, c'est donc ceux-ci que vous modifierez pour personnaliser votre thème. La syntaxe de ces fichiers est du PHP très simple, vous n'aurez normalement pas besoin de plus de 20 minutes pour en saisir le fonctionnement.

Les fonctions intégrées

Pour vos modèles vous bénéficiez de nombreuses fonctions prêtes à l'emploi. Vous êtes invités à lire la documentation des fonctions des gabarits.

Le fichier prepend.php

Votre thème contient un fichier prepend.php dans lequel vous trouverez les lignes suivantes :

<?php
//...
$mod_files[] = dirname(__FILE__).'/list.php';
$mod_files[] = dirname(__FILE__).'/post.php';
$mod_files[] = dirname(__FILE__).'/form.php';
//...
?>

Ce fichier, s'il existe, est appelé par DotClear et permet de faire beaucoup de choses. Dans notre cas, il se contente de dire au moteur de prendre en compte les fichier list.php, post.php et form.php pour le cache HTTP. Cela signifie que si vous modifiez un des ces fichiers, les changements seront répercutés. Évitez de changer ou supprimer ces lignes, à moins que vous supprimiez les fichiers en question.

Votre fichier prepend.php peut servir d'autres but, comme celui de créer une nouvelle fonction de modèle. Ajoutez le code suivant dans le fichier prepend.php :

<?php
//...
function dcDateDuJour() {
    echo date('d/m/Y');
}
//...
?>

Ensuite, quelques part dans votre fichier template.php, ajouter le code :

<p>Aujourd'hui <?php dcDateDuJour(); ?></p>

Intéressant, non ? Ceci illustre une seconde règle :

Si vous faites vos fonctions de template, faites les dans votre thème, vous aurez moins de problème à mettre à jour DotClear par la suite.

Les émoticones (smilies ou smileys)

Vous aimez les émoticones ? Moi non plus ;-)

Comme pour le reste, si vous activez l'affichage des émoticones, le moteur cherchera si votre thème a un répertoire smilies et s'il n'en a pas, utilisera celui du thème default.

Vous pouvez vous faire vos propres émoticones (ou les voler ailleurs, c'est votre problème) et les déposer dans le dossier smilies de votre thème. Ensuite, vous pourrez faire un fichier smilies/smilies.txt décrivant les émoticones à utiliser, par exemple :

:-)		smile.png

Vous devrez séparer votre smiley du nom du fichier par de vraies tabulations.

Wiki powered by Dokuwiki.