Article sur 2 colonnes

Petit article pour tester le principe de la mise en colonne (basé sur une proposition trouvée sur le forum « Créer ses squelettes » du site de SPIP).

Pour pouvoir finaliser un site sur lequel je travaille actuellement (Les Mémoires du Touradon) j’avais besoin de trouver une solution pour mettre en page les articles afin qu’ils entrent parfaitement dans la mise en forme graphique du site.

Pour cela j’ai besoin de découper l’article en deux colonnes, l’une se trouvant sur la partie droite de la page et l’autre sur la partie gauche.

En cherchant sur le site de SPIP et celui de SPIP-CONTRIB j’ai trouvé cette solution [1].

Comme elle n’est pas complètement présentée sur le forum je me propose de le faire ici afin qu’elle puisse servir à tous ...

Pour voir la chose en action ...

Méthode utilisant un tableau pour l’affichage en 2 colonnes

1 - Créer le fichier mes_fonctions.php3 (si vous ne connaissez pas on en parle ici)

2 - Puis à l’intérieur de ce fichier copier/coller le code suivant :

/*
 *   +----------------------------------+
 *    Nom du Filtre : afficher_en_colonnes                                               
 *   +----------------------------------+
 *    Date : mardi 1er novembre 2004
 *    Auteur :  "buzz"  : buzz@buzzkompany.net
 *    D'après une proposition de Nicolas Krebs sur le forum Créer ses squelettes http://www.spip.net/threadspip2015-2998.html                                     
 *   +-------------------------------------+
 *    Fonctions de ce filtre :
 *     Il sert a présenter un article sur deux colonnes sur une page
 *   +-------------------------------------+ 
 *  
 * Pour toute suggestion, remarque, proposition d'ajout
 * reportez-vous au forum de l'article :
 * http://www.uzine.net/spip_contrib/article.php3?id_article=759
*/


function afficher_en_colonnes($texte) {
$page = explode('-----', $texte);
$num_pages = count($page);
$resultat = "<table width=\"100%\"><tr>";
for ($i = 0; $i < $num_pages; $i++) {
$resultat .= "<td valign=\"top\" width=\"45%\">".$page[$i]."</td><td width=\"10%\"></td>";
}
$resultat .= "</tr></table>";
return $resultat;
}

3 - Enfin dans votre page article.html, au sein de votre squelette, vous remplacez le #TEXTE par [(#TEXTE*|afficher_en_colonnes|propre)].

4 - Lors de la rédaction de votre article, la césure de texte se fera en plaçant 5 tirets consécutifs dans votre texte.

5 - L’affichage actuel en tableau est généré par le code HTML compris dans le code contenu dans le fichier mes_fonctions.php3, j’y ai mis un espacement de 10% entre les deux colonnes. Il vous est possible de modifier cette mise en page en modifiant ces éléments.

Méthode utilisant une feuille de style pour l’affichage en 2 colonnes

1 - Créer le fichier mes_fonctions.php3 (si vous ne connaissez pas on en parle ici)

2 - Puis à l’intérieur de ce fichier copier/coller le code suivant :

/*
 *   +----------------------------------+
 *    Nom du Filtre : afficher_en_colonnes_CSS                                               
 *   +----------------------------------+
 *    Date : mardi 1er novembre 2004
 *    Auteur :  "buzz"  : buzz@buzzkompany.net
 *    D'apr&egrave;s une proposition de Nicolas Krebs sur le forum Créer ses squelettes http://www.spip.net/threadspip2015-2998.html                                     
 *   +-------------------------------------+
 *    Fonctions de ce filtre :
 *     Il sert a présenter un article sur deux colonnes sur une page
 *   +-------------------------------------+ 
 *  
 * Pour toute suggestion, remarque, proposition d'ajout
 * reportez-vous au forum de l'article :
 * http://www.uzine.net/spip_contrib/article.php3?id_article=759
*/

function afficher_en_colonnes_css($texte) {
        
        $page = explode('-----', $texte);
        
        $num_pages = count($page);

        $resultat = "";
        for ($i = 0; $i < $num_pages; $i++) {
		$resultat .= "<div class=\"buzz\"><span class=\"colonnes\">".$page[$i]."</span></div>";
        }
        $resultat .= "";
        return $resultat;
}

// FIN du Filtre afficher_en_colonnes_CSS

3 - Enfin dans votre page article.html, au sein de votre squelette, vous remplacez le #TEXTE par [(#TEXTE*|afficher_en_colonnes_css|propre)].

4 - Puis installez ce code CSS dans l’un des fichiers de style que vous utilisez sur votre site (moi je l’ai mis dans le fichier habillage.css) afin de pouvoir diposer de la mise en page :

div.buzz span.colonnes {
float: left;
text-align: justify;
width: 42%;
padding: 3%; 
}

5 - La mise en page de vos colonnes ont tout intérêt à être vérifié après avoir écrit votre article afin que la première partie soit plus longue que la seconde (facilité de lecture) ...

Pour cela il vous suffit de placer correctement les 5 tirets qui feront la césure de votre texte.

Notes

[1proposée par Nicolas Krebs sur le forum SPIP

Discussion

Aucune discussion

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom