Zpip et la création rapide de pages

Le modèle de squelettes Zpip est organisé pour faciliter et accélérer le développement d’un site.

Deux fonctionnalités particulières permettent la création rapide de pages types dans votre squelette, en un minimum de développement.

Organisation de Zpip

Une page Zpip est composée de 6 blocs fonctionnels :

  • entete
  • barre de navigation (principale)
  • contenu
  • navigation (secondaire)
  • extra
  • pied

À ces 6 blocs constituant le <body> de la page, s’ajoute le head.

Les blocs d’entete, de barre de navigation principale et de pied sont communs à toutes les pages.
Le contenu, la navigation (secondaire) et le bloc extra sont déclinables pour chaque type de page.

Le head est mixte : une grande partie est commune à toutes les pages, et une petite partie déclinable.

Les déclinaisons de chaque bloc se font dans les dossiers homonymes : head/, contenu/, navigation/, extra/.

Chacun de ces dossiers contient un squelette dist.html qui est le bloc par défaut à utiliser lorsqu’aucun bloc spécifique n’est défini pour la page à construire.

La logique de fonctionnement de Zpip est que c’est le contenu qui prime : une page (complète) existe pour servir un contenu (le coeur de page, l’information principale).

Ainsi, sur la base de cette organisation et de cette logique, Zpip permet la création rapide de pages.

Pages automatiques

Le premier mécanisme concerne les pages particulières qui ne sont pas liées à un objet éditorial précis (page de contact, d’inscription ...) ou peuvent être une agrégation de contenus éditoriaux disparates (page d’accueil) ou hors classification (liste d’auteurs).

Ces pages sont en général accessibles sur le site par une url de la forme spip.php?page=xxx.

Dans le cas de Zpip elles sont implémentées par les squelettes

  • contenu/page-xxx.html ;
  • navigation/page-xxx.html ;
  • extra/page-xxx.html ;
  • head/page-xxx.html.

La fonctionnalité de page automatique est le mécanisme qui permet à Zpip de construire une page complète dès que contenu/page-xxx.html existe.

Ainsi une page de contact, accessible par spip.php?page=contact sera visible et utilisable en écrivant simplement le contenu concerné dans contenu/page-contact.html.

C’est suffisant, et Zpip complètera la page avec les blocs génériques et les blocs spécifiques dans leur version par défaut dist.html.

Ce mécanisme vous permet d’ajouter très vite de nouvelles fonctionnalités à votre site, en vous concentrant juste sur celles-ci.

Il permet aussi à des plugins de fournir un squelette de contenu pour une fonctionnalité particulière, ce qui la rend disponible dans votre site dès son installation, sans aucune manipulation, même si vous n’aviez pas prévu l’existence d’une telle page initialement.

Objets automatiques

Depuis la version 1.3 de Zpip, la fonctionnalité de page automatique a été étendue aux objets de SPIP. On désigne ici par objet un objet éditorial lié à une table SQL : un article, une brève, une rubrique, un auteur ...

Les objets sont en général accessibles par une url du type spip.php?page=objet&id_objet=.. (sauf en cas de réécriture d’url, qui cache cette écriture).

La page d’un objet éditorial peut donc être rendue disponible en écrivant simplement le squelette correspondant dans le dossier contenu :

  • contenu/article.html ;
  • contenu/auteur.hml
  • ...

Le seul point auquel il faut faire attention est le nommage : le nom du squelette correspond au nom de l’objet au sens de SPIP, et est donc en général le singulier de la table correspondante (article pour spip_articles, auteur pour spip_auteurs... ).

Ce mécanisme permet aux plugins de fournir une page réutilisable pour la présentation des nouveaux contenus éditoriaux ajoutés.

Échafaudage ou Scaffolding

Pour un nouvel objet éditorial associé à une table SQL, il est même possible de visualiser une page sans écrire une seule ligne de squelette.

Cette fonctionnalité est réservée aux webmestres, pour ne pas risquer de divulguer des informations non publiques aux autres utilisateurs du site (il faut avoir les droits de webmestre, soit par la définition de la constante _ID_WEBMESTRES pour SPIP 2.0, soit en ayant reçu le statut webmestre lors de l’installation de SPIP ou attribué par un autre webmestre).

Ainsi, si vous avez les droits suffisants, vous pouvez visualiser la page de tout nouvel objet éditorial existant. Si par exemple vous avez ajouté un objet evenement dans une table spip_evenements, vous pouvez visualiser l’url spip.php?page=evenement&id_evenement=1.

Zpip essayera alors de construire une page avec un squelette contenu/evenement.html. Si il ne le trouve pas et que vous êtes un webmestre, il va construire à la volée un squelette en se basant sur la structure de la table spip_evenements.

Ce squelette construit automatiquement vous permet de visualiser les données, et peut être utilisé comme point de départ à l’écriture de votre « vrai » squelette.

Pour ce faire, ajoutez &var_mode=inclure dans l’url pour visualiser le nom du squelette généré par Zpip et le copier ainsi dans votre dossier squelettes/ avant de le personnaliser.

Si vous utilisez le plugin SkelEditor cette opération est facilitée au maximum :

  • le bouton ’Squelettes&CSS’ vous permet de passer en &var_mode=inclure,
  • un clic sur le nom du fichier source échaffaudé vous permet de l’éditer directement dans l’espace privé,
  • un clic sur « Enregistrer » vous permet d’en enregistrer une copie dans le dossier squelettes.

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