Sélecteur de squelettes pour les visiteurs d’un site spip

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Mise en place d’un sélecteur de squelettes
pour les visiteurs d’un site spip (adaptation du template chooser de mambo).

FONCTION

Permettre à chaque visiteur (logué ou non) de modifier la présentation du site en sélectionnant un thème parmi plusieurs squelettes.

Cette contrib est en quelque sorte une adaptation du système de ‘template chooser’ (sélecteur de modèle) existant pour Mambo (voir http://demo.mambohut.com).

L’interface comprend un champ de sélection et actualise une vignette pour chaque modèle que sélectionne le visiteur. Le modèle est ‘rafraîchis’ lorsque le visiteur valide en cliquant sur le bouton de sélection.

Exemple / démo sur un site spip : http://www.instits.fr.

INSTALLATION

Faites une sauvegarde de votre site.

Placer les sources téléchargées à la racine de votre site.

Vous pouvez tester le module depuis la page sommaire.php3.

Vous êtes automatiquement redirigés vers le squelette par défaut au chargement de cette page.

Le squelette par défaut peut être définit par l’administrateur depuis un espace d’administration (www.votresite.com/modules/sq_choix.php) [1].

PERSONNALISER VOS PAGES

-  Vous pouvez modifier les squelettes présents au niveau du répertoire « templates » en déplaçant vos propres fichiers de mise en forme dans les sous répertoires adéquats.

-  Vous pouvez également mettre à jour les informations affichées par le module de sélection (nom du squelette, chemin pour la vignette ...) en éditant le fichier CSV (fichier exporté depuis Excel) situé dans le répertoire ’modules’. Modifiez les informations adéquates en respectant le modèle.

QUELQUES REMARQUES SUPPLEMENTAIRES

-  Le sélecteur de squelette est intégré à la page sommaire.html à l’aide du code suivant :

<INCLURE(modules/adapt-spip.php)>

Vous pouvez de la même manière intégrer le sélecteur de squelette sur les autres pages (auteur.html, rubrique.html …).

-  La gestion de l’affichage fonctionne sur un principe d’auiguillage.
Ci-dessous l’exemple du code pour la page sommaire.php3.

<?php 
// Si le cookie pour le squelette existe
if(isset ($_COOKIE["template"])) { 
$chemin = $_COOKIE["template"]; 
}

// Sinon : chemin du squelette par defaut définit en admin
else {
include('modules/chemin.php3');
}

$fond = $chemin."sommaire"; 
$delais = 0; 

include ("inc-public.php3"); 
?>

-  Lorsqu’un visiteur arrive sur le site et clic sur le bouton afin de valider un choix de squelette, une variable (anb_Template) correspondant au modèle sélectionné est envoyée et traitée par un script puis sauvegardée dans un cookie. Cette information sert à modifier l’affichage du site.

Le problème du recalcule de la page ($delais = 0) est donc contourné à l’aide de cookies. J’ai volontairement laissé le délais à 0 mais vous pouvez modifier cette variable (Exemple : $delais = 24 * 3600 ; ).

-  Contrib testée avec les versions spip 1.7 et spip 1.8.

REMERCIEMENTS

Une partie des sources de cette contrib s’inspire d’un module développé par Patrick VINCENT. Ce module donne la possibilité aux administrateurs d’un site spip de modifier le squelette des pages (http://reseau.erasme.org/article.php3?id_article=240).

Enfin :

Plusieurs projets visent à donner la possibilité de personnaliser l’affichage du site en fonction de différents squelettes. Je vous invite notamment à consulter la contrib suivante :
http://www.spip-contrib.net/article667.html

***

[1] Le chemin du squelette par défaut est sauvegardé dans le fichier « chemin.php3 ».

***

Papuli @lexandre : papuli@gmail.com

***

Note : Les sources de cette contrib sont également disponibles sur la page http://webconsultant.free.fr/news-projets.htm.

Discussion

Une 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