SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano

273 Plugins, 191 contribs sur SPIP-Zone, 57 visiteurs en ce moment

Accueil du site > Squelettes > Outils pour squelettes > Zpip > Zpip et la création rapide de pages

Zpip et la création rapide de pages

23 mars 2010 – par Cedric Morin – 26 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

16 votes

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.
Retour en haut de la page

Vos commentaires

  • Le 23 avril 2011 à 11:35, par Gerard Dupuichs En réponse à : Zpip et la création rapide de pages

    Bonjour,
    J’utilise zpip avec le thème outdoor 1.0 Ceci est l’ébauche de mon site d’asso RIO.
    Dans le body de la page d’accueil, je souhaite limiter le nombre des « derniers articles » affichés et surtout, ne laisser que le titre, date et nom d’auteur en supprimant les premières lignes du texte de l’article J’ai essayé dans le fichier zpip/inclure/article-resume.html en mettant en commentaires les lignes relatives à l’intro et entry-content. C’est sans effet. Alors, je ne trouve pas le bon fichier. Please help !

    • Le 23 avril 2011 à 12:26, par Pierre KUHN En réponse à : Zpip et la création rapide de pages

      Bonjour

      As tu essayer d’utiliser skeleditor ? il te permets de liste tous les inclure de ton site et de le modifier en live sur ton site.

    • Le 25 avril 2011 à 22:47, par Gerard Dupuichs En réponse à : Zpip et la création rapide de pages

      Merci de ta réponse, J’ai chargé skeleditor, l’ai transféré sur le serveur et activé comme plugin, J’ai bien le nouveau bouton « squelettes&css » avec toutes les url des pages (qui sont bien celles que j’avais identifiées). J’ai créé un dossier squelettes/ à la racine du site mais on me demande toujours d’en créer un lorsque j’essaye d’afficher un code et le dossier squelette reste désespèrément vide... Alors ???
      Cordialement

    • Le 25 avril 2011 à 22:51, par Pierre KUHN En réponse à : Zpip et la création rapide de pages

      tu as mis les bon droits sur le dossier squelettes ?

    • Le 26 avril 2011 à 12:04, par Gerard Dupuichs En réponse à : Zpip et la création rapide de pages

      Elementaire, mon cher Watson ! je n’avais pas vérifié les droits... MERCI

    • Le 26 avril 2011 à 17:16, par Gerard Dupuichs En réponse à : Zpip et la création rapide de pages

      Cet outil squeleteditor est très performant, je suis parvenu à mes fins. MERCI ENCORE
      Gérard

    Répondre à ce message

  • Le 8 juillet 2010 à 11:02, par ? En réponse à : Zpip et la création rapide de pages

    Tout d’abord, merci pour ce fabuleux plugin.

    Est-il possible d’avoir un body différent pour la page sommaire ?

    merci d’avance

    • Le 16 novembre 2010 à 12:09, par John En réponse à : Zpip et la création rapide de pages

      Même question.....
      Ou tout du moins un entete spécifique pour le sommaire.
      quelqu’un a une réponse ?

    • Le 19 janvier 2011 à 08:32, par Valéry En réponse à : Zpip et la création rapide de pages

      Bonjour,

      J’ai déjà utilisé et fait fonctionner la fonction de création de pages automatiques toutefois elle ne fonctionne pas systématiquement sur tout mes sites utilisant Zpip et je n’ai pas pu en identifier la raison.

      Je travaillais ce matin sur un site en 2.1.8 avec un squelette basé sur Zpip, et j’ai créé un squelette contenu/page-auteurs : lorsque je l’appelle avec ?page=auteurs j’ai le message Aucun squelette auteurs.html n’est disponible... et la page 404 est affichée. J’ai repris la dernière version disponible de z_pipelines.php.

      J’ai peut être raté une étape ?

      Valéry

    Répondre à ce message

  • Le 6 janvier 2011 à 23:06, par nfriedli En réponse à : Zpip et la création rapide de pages

    Tout d’abord, merci pour ce truc absolument génial.

    Cela me fait penser aux templates de Django et aux redoutables possibilités de surcharge par blocs. La chose vaut vraiment la lecture ! Ce n’est pas le moindre des compliments et il y a peut-être des idées à prendre...

    Juste une question d’éclaircissement : Il existe 6 parties dans la page, mais seulement 4 répertoires relatifs à ces parties (plus img et inclure). Est-ce que cela signifie bien que la barre de navigation et le pied ne peuvent pas varier d’une page à l’autre ?

    • Le 6 janvier 2011 à 23:13, par Cedric Morin En réponse à : Zpip et la création rapide de pages

      Merci beaucoup pour le compliment et la comparaison a Django. Concernant la barre et le pied, effectivement j’étais parti sur un bloc commun a toutes les pages dans cette version de Zpip. J’ai commencé à travailler sur une version 2.0 et je suis revenu sur ce choix en créant un répertoire pour chaque bloc, sans distinction, car c’est finalement le plus souple.

    Répondre à ce message

  • Le 6 octobre 2010 à 10:43, par Achille En réponse à : Zpip et la création rapide de pages

    Bonjour
    Je débute. Mon site tourne avec Zpip et le thème Détachable. Je voudrais personnaliser la colonne extra pour que les brèves y apparaissent. J’ai lu la doc mais je bloque ; je ne sais par où commencer. Peut-on me donner quelques indications concrètes qui me permettrait de me lancer ? merci de votre compréhension et de votre aide.

    • Le 6 octobre 2010 à 11:39, par manu En réponse à : Zpip et la création rapide de pages

      Peut-être que le plus simple serait que tu rajoutes « &var_mode=inclure » à la fin des urls quand tu fais tes tests.
      Tu verras alors les noms des fichiers qui sont appelés. Repère celui qui est concerné pour le bloc que tu souhaites personnaliser, édite-le, modifie-le puis enregistre-le dans ton répertoire squelettes (en respectant son arborescence : extra, inclure, contenu etc...)
      Après recalcul de la page, tes modifications seront appliquées !

    Répondre à ce message

  • Le 27 mai 2010 à 18:55, par Patrick Domage En réponse à : Zpip et la création rapide de pages

    Bonjour.

    j’ai installé Zpip et le theme bluebusiness - que j’ai passé en rouge ;) - pour un site très simple.

    Je voudrais passer tout le fond du sommaire en rouge mais pas les autres pages.

    j’ai compris le fonctionnement des page-sommaire dans les sous dossiers inclure, extra, contenu.
    j’ai copié le squelette body.html dans un sommaire.html ou page-sommaire.html à la racine du dossier squelettes.
    mais j’ai un message d’erreur pour sommaire. html

    Aucun squelette contenu/.html n’est disponible..

    et le squelette page-sommaire.html n’est pas pris en charge

    est-ce que ce que je veux est possible ?

    est ce que vous connaissez cette solution ?

    merci

    Patrick

    Répondre à ce message

  • Le 14 avril 2010 à 01:11, par Stéphane Santon En réponse à : Zpip et la création rapide de pages

    Bonjour,
    Dans mon plugin, j’ai personnalisé le bloc navigation dans navigation/page-sommaire.html et navigation/article.html
    Le code de navigation/article.html peut servir pour les articles, rubriques, ...
    Comment ne pas avoir à recopier navigation/article.html dans navigation/rubrique.html, navigation/page-recherche.html, ... ?
    J’ai essayé de créer navigation/dist.html mais il n’est pas pris en compte...
    Merci

    Répondre à ce message

  • Le 31 mars 2010 à 09:15, par Valéry En réponse à : Zpip et la création rapide de pages

    Merci pour cet article.

    Par curiosité, peux-tu nous expliquer s’il te plaît comment fonctionne ce prodige ?

    • Le 31 mars 2010 à 22:50, par Cedric Morin En réponse à : Zpip et la création rapide de pages

      Tout se passe dans le pipeline styliser, charger de trouver le squelette demandé. Lorsque le squelette n’existe pas, Zpip prend la main et cherche comment le remplacer au mieux.

    Répondre à ce message

  • Le 31 mars 2010 à 11:40, par JLuc En réponse à : Zpip et la création rapide de pages

    1) L’échafaudage est-il accessible pour des tables dont le préfixe est différent du préfixe par défaut ?

    2) Pour disposer le plus simplement possible de l’échafaudage sur une table qui a un préfixe différent, je l’ai renommée avec le bon préfixe, au moins temporairement pour récupérer le squelette, mais même avec le bon préfixe, l’échafaudage ne se manifeste pas. Le compilateur indiquant que le squelette voulu n’est pas disponible (ce qui est vrai, évidemment, mais ne devrait pas poser problème au vu de cette doc, ou bien j’ai pas compris...).
    Je suis webmestre sur le site. Y a t il quelquechose à vérifier ou un fichier de log par exemple spécifique à vérifier quelquepart pour comprendre l’origine du problème ?
    Pour info, c’est un site en spip 2.1rc1 dans un sous répertoire.

    • Le 31 mars 2010 à 22:45, par JLuc En réponse à : Zpip et la création rapide de pages

      J’ai avancé sur le problème pour l’échafaudage :

      Si le préfixe des tables spip n’est pas ’spip_’, mais ’pref’ par exemple, alors il faut appeler la page par le nom complet de la table, moins le ’s’ terminal.
      spip.php?page=pref_evenements
      et ce, que la table porte le préfixe de la base spip ou non.
      C’est à dire que même si toutes les tables spip ont aussi le préfixe ’pref’, il faudra mettre pref_evenement et non evenement, alors que pour les tables spip standards évidemment, il ne faut jamais employer le préfixe...

    • Le 31 mars 2010 à 22:48, par Cedric Morin En réponse à : Zpip et la création rapide de pages

      Ah c’est la qu’est le bug alors, sur la gestion des prefixes !

    Répondre à ce message

  • Le 25 mars 2010 à 17:03, par Metalrod11 En réponse à : Zpip et la création rapide de pages

    Bonjour,

    J’utilisais le plugin Magusine et je teste ZPIP. ça pète ! Est-il prévu des plugins gérant les éléments de la page cités ici (entete, contenu, navigation (secondaire), extra, pied) de la même manière que le plugin « menu » permet de gérer la barre de navigation ?

    Répondre à ce message

  • Le 25 mars 2010 à 15:50, par Fabrizio En réponse à : Zpip et la création rapide de pages

    Excellent !!! Je n’ai pas trop de temps en ce moment et cet article répond précisément à une de mes interrogations. Je suis ravi ... je vais créer quelques nouvelles pages sur mon site !!! Merci.

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Zpip-dist en HTML5

    15 juin 2010 – 10 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Une surcharge des squelettes Zpip-dist qui tire parti des nouvelles balises offertes par la spécification HTML5. Attention, ce plugin n’est plus compatible avec les nouvelles versions de Zpip, qui a connu plusieurs incompatibilités de nomenclature (...)

  • Une licence pour un article

    18 avril 2007 – 25 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Sur une idée originale de erational, voici un plugin permettant de lier une licence à un article.

  • Plugin Parrainage

    6 novembre 2011 – <blink style='color:red;'>public|spip|ecrire:commentaire</blink>

    Permettre aux utilisateurs d’inviter leurs contacts à s’inscrire sur le site. Description Vous connaissez le web moderne et son cortège d’applis toujours en version « beta » et de buzz sur le dernier réseau à la mode ? Vous voulez vous aussi vous y (...)

  • Formulaire de contact libre

    27 avril 2011 – 36 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Dans SPIP il n’y a pas un formulaire de contact, mais autant de formulaires de contact que d’auteurs. Cette phrase de Romy, dans son article Une page de contact dans mon SPIP, pointe un petit manque de SPIP. La possibilité d’insérer rapidement un (...)

  • Plugin Mot de Passe Compliqué

    2 novembre 2007 – 16 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin ajoute un testeur de complexité de mot de passes dans les formulaires de choix de mot de passe de SPIP.