SPIP-Contrib

SPIP-Contrib

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

286 Plugins, 197 contribs sur SPIP-Zone, 325 visiteurs en ce moment

Accueil > Squelettes > Outils pour squelettes > Zpip > Zpip-vide > Créer de nouvelles compositions et de nouvelles pages avec Zpip-vide

Créer de nouvelles compositions et de nouvelles pages avec Zpip-vide

9 février 2011 – par Joseph – commentaires

2 votes

Le squelette Zpip n’est plus maintenu, il est remplacé par SPIPr-dist

Pré-requis

Le plugin Compositions doit être installé et activé sur votre site.

Créer une composition au travers d’un exemple

Les pages de Zpip-vide reposant uniquement sur des configurations de noisettes à l’aide du noiZetier, il est aisé de créer une nouvelle composition à l’aide du mécanisme des compositions du noiZetier (pour plus de détails, voir la documentation du noiZetier).

Supposons que je souhaite que certains articles n’affichent pas de portfolio mais que les images jointes soient considérées comme de simples documents joints.

Tout d’abord, il faut se rendre sur la page de Gestion des compositions du noiZetier (lien dans la boîte en haut à gauche de la page principale du noiZetier).

Puis cliquer sur Créer une nouvelle composition.

Remplir le formulaire avec les éléments suivants :

  • Type : article
  • Identifiant : sans_portfolio
  • Titre : Article sans portfolio

et Enregistrer.

Revenir à la page principale du noiZetier en cliquant sur Retour.

La page Article sans portfolio est maintenant visible dans la liste des pages du noiZetier. Cliquer sur Configurer les noisettes de cette page.

Il apparaît qu’à sa création, les noisettes de cette page sont les mêmes que celles de la page Article. Il ne reste plus qu’à supprimer la noisette Portfolio de l’article et à modifier les paramètres de la noisette Documents de l’article pour ne pas exclure les photos du portfolio.

Enfin, il ne reste plus qu’à appliquer aux articles concernés la composition Article sans portfolio (cela se fait avec le formulaire Composition présent sur la page de modification chaque article dans l’espace privé).

Création d’une nouvelle page

La création d’une nouvelle page suit la même logique que la création d’une composition. En effet, Aveline autorise la création d’une composition du noiZetier du type Page. Cette dernière est alors accessible via l’URL spip.php ?page=identifiant.

Par exemple, si l’on souhaite créer une page spécifique pour afficher les mentions légales du site à l’aide d’un bloc de texte, il suffit de créer une composition du noiZetier avec les paramètres suivants :

  • Type : page
  • Identifiant : mentionslegales
  • Titre : Mentions légales du site

Cette page sera alors configurable dans le noiZetier comme n’importe quelle autre page. On pourra par exemple y inclure un bloc de texte avec les mentions légales à afficher. Cette page sera accessible via l’URL http://monsite.net/spip.php?page=mentionslegales.

Dernière modification de cette page le 21 novembre 2014

Retour en haut de la page

Vos commentaires

  • Le 8 mai 2011 à 21:45, par korama En réponse à : Créer de nouvelles compositions et de nouvelles pages avec Zpip-vide

    Bonjour,

    voilà, j’ai un petit problème. En effet j’aimerais avoir 3 configurations de pages spécifiques pour le site :

    -  une page sommaire sur 3 colonnes
    -  des pages normales sur une seule colonne, sans nav secondaire ni extra,
    -  des pages spécifiques avec une nav secondaire

    Comment puis je régler ça dans Aveline avec Compositions ? Est-ce possible ?

    • Le 9 mai 2011 à 14:17, par Joseph En réponse à : Créer de nouvelles compositions et de nouvelles pages avec Zpip-vide

      Il est tout à fait possible de définir vos propres blocs. Par contre, cela vous fera perdre la compatibilité avec les thèmes Z et vous devrez définir votre propre thème.

      Si j’ai bien compris la structure de votre site :

      • Vos pages par défaut ont un seul bloc : contenu.
      • Vous avez pour les articles et les rubriques (à étendre à d’autres objets au besoin) une composition (que je vais appeler nav) avec deux blocs : contenu et navigation.
      • Enfin votre page d’accueil a trois blocs. Le premier bloc va devoir s’appeler contenu (le bloc de base est nécessaire pour toutes les pages). Les deux autres seront col2 et col3.

      Je fais l’hypothèse que vous utilisez Aveline + noiZetier + Zpip-vide.

      Vous allez donc créer votre propre thème personnalisé qui définira tous les éléments de la structure de votre site. Ce thème sera donc sous la forme d’un plugin (voir donc la doc générale des plugins).

      Pour être sûr de bien surcharger Zpip et Zpip-vide, le fichier plugin.xml de votre thème contiendra :

      1. <necessite id="Z" />
      2. <necessite id="zvide" />

      Télécharger

      Étape 1 : définir la liste des blocs pour Zpip

      Dans un fichier d’options, vous allez définir la globale z_blocs en lui indiquant tous les blocs existants (ne pas oublier le head) :

      1. $GLOBALS['z_blocs'] = array('contenu','head','navigation','col2','col3');

      Étape 2 : définir la structure des pages dans le fichier body.html

      Créer un fichier body.html à la racine du thème. Ce fichier va permettre d’appeler les différents blocs et de définir la structure HTML des pages. Ce fichier sera à adapter selon vos besoins. Mais grosso modo, il sera à peu près comme ça :

      1. <div id="page">
      2. <div id="entete">
      3. <INCLURE{fond=inclure/entete,env}>
      4. </div>
      5. <div id="nav">
      6. <INCLURE{fond=inclure/barre-nav,env}>
      7. </div>
      8.  
      9. <div id="conteneur">
      10. [(#ENV{composition}|=={sommaire}|non)
      11. <div id="contenu">
      12. <INCLURE{fond=contenu/#ENV{type},env}>
      13. </div>
      14. ]
      15.  
      16. [(#ENV{composition}|=={sommaire}|oui)
      17. <div id="col1">
      18. <INCLURE{fond=contenu/#ENV{type},env}>
      19. </div>
      20. <div id="col2">
      21. <INCLURE{fond=col2/#ENV{type},env}>
      22. </div>
      23. <div id="col3">
      24. <INCLURE{fond=col3/#ENV{type},env}>
      25. </div>
      26. ]
      27.  
      28. [(#ENV{composition}|=={nav}|oui)
      29. <div id="navigation">
      30. <INCLURE{fond=navigation/#ENV{type},env}>
      31. </div>
      32. ]
      33. </div>
      34.  
      35. <div id="pied">
      36. <INCLURE{fond=inclure/pied,env}>
      37. </div>
      38. </div>

      Télécharger

      On inclue les blocs navigation, col2 et col3 de manière conditionnelle.

      Étape 3 : fournir un contenu par défaut pour les deux nouveaux blocs col2 et col3

      Zpip a besoin d’un contenu par défaut de base pour chaque bloc. Dans le cas présent, il va s’agir d’un squelette vide puisque les contenus seront ajoutés ensuite via le noiZetier. Il vous faut donc créer dans votre plugin deux sous-répertoires : col2 et col3. dans chacun d’eux, créer un fichier dist.html (c’est un squelette par défaut) ne contenant rien.

      Étape 4 : indiquer au noiZetier les blocs des différentes pages

      Pages normales

      Tout d’abord, il faut indiquer au noiZetier que les blocs par défaut pour les différentes pages ne sont que le bloc contenu. Cela se fait via le pipeline noizetier_blocs_defaut (voir Fonctionnement par défaut du noiZetier). Par défaut, le noiZetier prévoit trois blocs par défaut : contenu, navigation et extra. On va donc lui indiquer de ne garder que contenu.

      Je pars du principe que le préfixe de votre plugin Thème est theme. Dans le fichier plugin.xml de votre thème, il faut donc ajouter :

      1. <pipeline>
      2. <nom>noizetier_blocs_defaut</nom>
      3. <inclure>theme_pipelines.php</inclure>
      4. </pipeline>

      Télécharger

      Ensuite, vous devez créer le fichier theme_pipelines.php à la racine du thème et y mettre le code suivant :

      1. <?php
      2.  
      3. function theme_noizetier_blocs_defaut($blocs) {
      4. unset($blocs['navigation']);
      5. unset($blocs['extra']);
      6. return $blocs;
      7. }
      8.  
      9. ?>

      Télécharger

      On a ainsi supprimé navigation et extra des blocs par défaut (il ne reste donc que contenu.

      Page sommaire

      Pour la page sommaire, on va lister les blocs spécifiques de cette page via sa déclaration XML (voir Fonctionnement par défaut du noiZetier).

      On va donc surcharger le fichier contenu/page-sommaire.xml de Zpip-vide. Donc, dans le sous-répertoire contenu de votre thème, vous allez créer un fichier page-sommaire.xml contenant :

      1. <page>
      2. <nom><:zvide:nom_page-sommaire:></nom>
      3. <icon>img/page_sommaire.png</icon>
      4. <bloc id="contenu" nom="theme:col1" icon="img/fichier.png" />
      5. <bloc id="col2" nom="theme:col2" icon="img/fichier.png" />
      6. <bloc id="col3" nom="theme:col3" icon="img/fichier.png" />
      7. </page>

      Télécharger

      A vous d’adapter les icônes (vous devez fournir un chemin relatif), ou supprimer l’attribut icon.

      Pour le nom des blocs, vous devez définir un fichier de langue dans votre thème afin de spécifier col1, col2 et col3. Vous remarquerez à ce niveau qu’on en profite pour renommer le bloc contenu en ’Colonne 1’ via une chaine de langue dans l’interface du noiZetier pour une meilleure expérience utilisateur. Techniquement, ce sera toujours le sous-répertoire contenu qui sera utilisé.

      Vous pouvez ajouter une description aux blocs avec l’attribut description qui attend lui aussi une chaine de langue.

      Compositions nav

      Ces compositions ayant une structure différente, elles devront être définies en dur par le thème. On va d’abord s’occuper des articles. Dans le sous-répertoire contenu, créez un fichier vide nommé article-nav.html. Le fichier est vide car il sera rempli ensuite de nosiettes. Mais il doit être présent pour être détecté par le noiZetier et Compositions. Cependant, pour être considéré comme une composition, il faut lui associer un fichier de description au format XML. Vous devez donc créer le fichier article-nav.xml dans le même sous-répertoire et contenant :

      1. <composition>
      2. <nom><:theme:compo-nav:></nom>
      3. <description><:theme:description-compo-nav:></description>
      4. <icon>images/objet-simple.png</icon>
      5. <bloc id="contenu" nom="noizetier:nom_bloc_contenu" description="noizetier:description_bloc_contenu" icon="img/ic_bloc_contenu.png" />
      6. <bloc id="navigation" nom="noizetier:nom_bloc_navigation" description="noizetier:description_bloc_navigation" icon="img/ic_bloc_navigation.png" />
      7. </composition>

      Télécharger

      La composition sera ainsi définie avec les blocs adéquats. N’oubliez pas de définir les chaines de langue adéquates et de personnaliser au besoin les icônes.

      Pour les rubriques, on procédera de la même manière en créant deux fichiers identiques dans le sous-répertoire contenu et nommés rubrique-nav.html et rubrique-nav.xml. Vous pouvez étendre à d’autres objets SPIP de la même manière en fonction de vos besoins.

      Étape 5 : désactiver la page par défaut de Zpip-vide

      Zpip-vide dispose d’une page nommée page par défaut permettant d’ajouter des contenus sur toutes les pages (voir Organisation des blocs et des pages dans Zpip-vide). Dans le cas présent, il semble que cette page par défaut soit inutile. Pour la désactiver, créez un fichier vide nommé defaut.xml dans le sous-répertoire contenu.

      Si vous préférez la conserver, adapter alors le code du fichier contenu/defaut.xml de Zpip-vide en fonction de vos besoins.

      En espérant avoir répondu à votre question.

      Bien cordialement

    Répondre à ce message

  • Le 25 mars 2011 à 11:32, par François Daniel Giezendanner En réponse à : Créer de nouvelles compositions et de nouvelles pages avec Zpip-vide

    Bonjour Chers Collègues Spipiens,

    Je tente un exercice d’incitation à s’intéresser à certaines réalisations de la concurrence pour inspiration. je présente donc deux réalisations de l’univers Drupal qui mon séduit et dont on souhaiterais qu’elles puissent être réalisées avec SPIP, par exemple avec ZPIP.

    OpenPublic

    Le premier est une application Drupal complète comprenant tous les modules (plugin chez SPIP) et le thème. Je vous invite à visiter la démo. Le paquet complet est téléchargeable ici :

    • OpenPublic  : OpenPublic is an open source content management system based on Drupal and tailored for building websites for government

    Remarquer la navigation secondaire sous la forme d’un très beau slider d’images.

    Template Marinelli

    Marinelli est un élégant template Drupal qui exploite un panneau en haut de page qui s’ouvre au clic (slider) ainsi qu’un menu horizontal qui ouvre des panneaux de liens. Sous le menu horizontal un beau slider d’images joue le rôle de bandeau du site.

    Quelqu’un peut-il commenter ces réalisations en vue d’une réalisation à la SPIP ?

    Bien cordialement

    FDG

    Répondre à ce message

  • Le 27 octobre 2010 à 19:35, par spipfactory En réponse à : Créer de nouvelles compositions et de nouvelles pages dans Aveline

    Bonjour ;

    quelque précisions sur la création «  »Compositions du noiZetier« »

    J’ai donc voulu créer une page reprenant certain sites

    -  dans la configuration « »Sites de la rubrique ou tous les sites« »

    si je sélectionne : « »tous les sites web« » ou dans la « »même rubrique« » ainsi que « »dans une rubrique spécifique"

    rien ne change au niveau de l’affichage ;

    tous les sites référencés de mon site apparaissent

    qu’ai je donc omis de configurer pour pouvoir choisir une rubrique spécifique ou sous-rubrique de préférence

    merci

    • Le 27 octobre 2010 à 19:42, par Joseph En réponse à : Créer de nouvelles compositions et de nouvelles pages dans Aveline

      J’ai besoin de quelques précisions. Si je comprends bien, la noisette Sites de la rubrique ou tous les sites a été incluse dans une composition du noizetier. Est-ce une composition de type rubrique ou de type page ?

      Ensuite, concernant l’option rubrique spécifique de la noisette : normalement un sélecteur de rubrique apparait pour sélectionner la rubrique spécifique. Est-ce que la rubrique spécifique a bien été sélectionnée ?

      Concernant le cas même rubrique et s’il s’agit d’une composition de type page, il importe de passer un id_rubrique dans l’URL.

      Cordialement

    • Le 27 octobre 2010 à 21:35, par spipfactory En réponse à : Créer de nouvelles compositions et de nouvelles pages dans Aveline

      du type page

      justement pas de selecteur rubrique

    • Le 27 octobre 2010 à 21:54, par Joseph En réponse à : Créer de nouvelles compositions et de nouvelles pages dans Aveline

      Si tu choisis même rubrique en transmettant un id_rubrique dans l’url, est-ce que la noisette fonctionne correctement ?

      Ensuite, concernant le sélecteur de rubrique pour rubrique spécifique, utilises-tu les dernière version d’Aveline, de saisies et de Bonux ? Dans quel navigateur ? C’est peut-être un problème de javascript puisque le sélecteur ne s’affiche qu’une fois rubrique spécifique sélectionné, apparait alors le texte Si rubrique spécifique, quelle rubrique ? et un lien Modifier sur lequel il faut cliquer pour qu’apparaisse la liste des rubriques. De mon côté, ca fonctionne sans problème avec Firefox sous Windows et IE8.

      Cordialement

    • Le 9 décembre 2010 à 14:06, par ljoets En réponse à : Créer de nouvelles compositions et de nouvelles pages dans Aveline

      Bonjour,

      J’ai eu un problème similaire.

      Je l’ai résolu en mettant à jour les plugins yaml, saisies, noizetier et aveline, puis en vidant le cache.

      En espérant que ça serve...

    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

  • Mailsubscribers

    16 janvier 2013 – 274 commentaires

    Ce plugin permet de gérer les inscriptions (ou abonnements) à la diffusion de contenu par email. Mailsubscribers permet de gérer les inscriptions par Opt-in simple ou double et la désinscription par URL. Ce plugin gère également plusieurs listes (...)

  • noiZetier v2

    9 novembre 2012 – 36 commentaires

    Le noiZetier offre une interface d’administration permettant d’insérer au choix des éléments modulaires de squelettes (noisettes) et de les ajouter ainsi à ses squelettes. Compatibilité La version 2 du noizetier fonctionne sous SPIP 3. Elle est (...)

  • cirr : plugin « rédacteur restreint »

    29 octobre 2010 – 60 commentaires

    Ce plugin « cirr : rédacteur restreint » permet d’affecter des rubriques aux rédacteurs et modifie les droits afin qu’un rédacteur restreint (ou un administrateur restreint) voit dans l’espace privé uniquement les rubriques qui lui sont affectées (et leur (...)

  • Un retour d’expérience d’utilisation de Formidable

    26 octobre – commentaires

    Il s’agissait de créer un formulaire d’inscription à un évènement modérer les inscriptions dans le privé publier les inscriptions dans le public Nous avons discuté de cette présentation lors de l’apéro SPIP du 15 février 2016 à la Cantine (...)

  • Métas +

    3 décembre – 14 commentaires

    Améliorez l’indexation de vos articles dans les moteurs et leur affichage sur les réseaux sociaux grâce aux métadonnées Dublin Core, Open Graph et Twitter Card. Installation Activer le plugin dans le menu dédié. Dans le panel de configuration, (...)

Ça spipe par là