Le squelette Zpip n’est plus maintenu, il est remplacé par SPIPr-dist
Créer de nouvelles compositions et de nouvelles pages avec Zpip-vide
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.
Discussions par date d’activité
3 discussions
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 ?
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 :
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 :
É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) :
É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 :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
etcol3
. dans chacun d’eux, créer un fichierdist.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 fichierplugin.xml
de votre thème, il faut donc ajouter :Ensuite, vous devez créer le fichier
theme_pipelines.php
à la racine du thème et y mettre le code suivant :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épertoirecontenu
de votre thème, vous allez créer un fichierpage-sommaire.xml
contenant :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 fichierarticle-nav.xml
dans le même sous-répertoire et contenant :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ésrubrique-nav.html
etrubrique-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épertoirecontenu
.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
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 :
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
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
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
du type page
justement pas de selecteur rubrique
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
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
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
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.
Suivre les commentaires : |