Préparation des éléments

Si le répertoire de votre thème ne comporte aucun fichier portant l'extension .php, recopiez depuis le répertoire themes/default/ tous les fichiers portant l'extension .php vers le répertoire de votre thème personnalisé. Puis :

Dans le dossier de votre thème :

1. Dupliquer le fichier list.php et le renommer home.php.

2. Dans le fichier prepend.php, ajouter, sous la ligne

$mod_files[] = dirname(__FILE__).'/form.php';

la ligne

$mod_files[] = dirname(__FILE__).'/home.php';

3. Dans le fichier template.php, chercher la ligne

<?php elseif ($mode != 'post') : /* Si aucune erreur et mode != post on affiche une liste de billets */?>

et ajouter au dessus de cette ligne les deux lignes suivantes :

<?php elseif ($mode == 'home') : /* On traite la homepage */ ?>
<?php include dirname(__FILE__).'/home.php'; ?>

4. Si vous voulez que la page d'accueil soit affichée dans un style particulier :

4.1. Dans le fichier template.php, chercher la ligne

<link rel="stylesheet" type="text/css" href="<?php dcInfo('theme'); ?>/style.css" media="screen" />

et ajouter les lignes suivantes :

<?php if ($mode == 'home') { ?>
<link rel="stylesheet" type="text/css" href="<?php dcInfo('theme'); ?>/home.css" />
<?php } ?>

4.1 bis. Attention, si vous utilisez le plugin Pagination, le code ci-dessus est à remplacer par :

<?php if ($mode == 'home' || ($mode == 'pagination' && $dc_orig_mode == 'home')) { ?>
<link rel="stylesheet" type="text/css" href="<?php dcInfo('theme'); ?>/home.css" />
<?php } ?>

4.2 Dans le dossier de votre thème, créez une feuille de style home.css, qui comportera les spécificités de style de la page. Il est inutile d'y inscrire les informations déjà présentes dans style.css.

Mise en œuvre

Le fichier home.php contiendra ce que vous souhaitez voir affiché dans la partie #main de votre template.

Le fichier home.css en indiquera la présentation.

Notez bien

home.php est appelé chaque fois que la racine de votre blog sera appelée, c'est-à-dire à l'arrivée et au clic sur l'entête du blog.

Un grand merci à Xave pour avoir fourni ces explications sur le forum et avoir relu ce tutoriel.

Quelques exemples de page d'accueil

Uniquement le billet le plus récent

Après avoir copié le contenu de list.php dans home.php, supprimer au tout début les lignes :

<!-- Boucle sur la liste de billets -->
<?php while ($news->fetch()) : ?>

et tout à la fin supprimer la ligne :

<?php endwhile; ?>

Ou fichier à récupérer et à renommer home.php

Variante : le billet le plus récent dans sa forme complète (billet non abrégé même si le champ chapô est renseigné. Fichier à récupérer et à renommer home.php

Un message de bienvenue, suivi des billets

Après avoir copié le contenu de list.php dans home.php, ajouter au début du fichier :

<div id="ouverture">
    <h2>Bienvenue</h2>
    <p>Ici le texte que vous souhaitez voir affich&eacute; au-dessus de la liste des billets. 
      Vous pouvez faire autant de paragraphes que vous le souhaitez.
      N'oubliez pas d'utiliser la syntaxe xhtml. </p>
</div>

Ou fichier à récupérer et à renommer home.php Pour appliquer à ce bloc un style spécifique, vous ajouterez dans votre feuille de style les propriétés que vous souhaitez pour le sélecteur #ouverture.

La liste des billets les plus récents d'une seule catégorie

Remplacer les lignes :

<!-- Boucle sur la liste de billets -->
<?php while ($news->fetch()) : ?>

par :

<!-- Boucle sur la liste des billets d'une seule categorie -->
      
     <?php # A la premiere ligne, entre parentheses, 
     # le premier parametre indique le nombre de billets qu'on souhaite afficher, 
     # le deuxieme l'url de la categorie choisie, 
     # le troisieme l'ordre chronologique (ASC) ou antechronologique (DESC).
     ?>
     
<?php $news = $blog->getLastNews(5,'General','post_dt DESC');
     while ($news->fetch()) : ?>

Ou fichier à récupérer et à renommer home.php