SPIP-Contrib

SPIP-Contrib

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

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

Accueil > Squelettes > Outils pour squelettes > Compositions > Compositions 1

Compositions 1

Un plugin pour bien composer son site

10 mai 2009 – par Cerdic, tetue – 132 commentaires

66 votes

Ce plugin vous permet de définir plusieurs variantes de compositions pour chaque type objet SPIP (article, rubrique, etc.) et de les appliquer simplement, au cas par cas, depuis l’espace privé.

Objectif

Ce plugin a pour but de fournir un mécanisme et une interface pour faire varier le type de composition de chaque objet en fonction des besoins.

Par exemple, vous pouvez avoir besoin de composer certains articles sous une forme d’article de journal, et certains autres comme des albums photos.

Ou vous pouvez vouloir composer certaines rubriques comme des blogs, et d’autres de façon plus classique...

Pour faire varier la composition des objets d’un même type, SPIP met nativement quelques solutions à la disposition des webmestres :

  • les squelettes suffixés par le numéro de rubrique (rubrique-23.html) permettent souvent de s’en tirer, mais présentent de gros défauts : la maintenance squelettes organisés sur ce mode devient vite très lourde, et aucune interface ne permet de changer la composition d’un objet parmi celles existantes une fois qu’elle a été fixée par le webmestre avec un squelette particulier.
  • les mots clés « techniques » utilisés dans les squelettes pour choisir indirectement le type de composition fonctionnent également. Toutefois, l’ergonomie est peu adaptée à cet usage, et si jamais le site utilise aussi des mots clés pour la navigation les administrateurs sont vites perdus.

Le plugin apporte donc une nouvelle fonctionnalité à SPIP.

Fonctionnement du plugin

Le plugin propose un formalisme de définition des compositions et une interface générée automatiquement qui permet aux administrateurs du site de choisir parmi les compositions disponibles.

Par défaut, le squelette qui définit la composition est alors automatiquement sélectionné par SPIP.

Configuration

Le plugin ne nécessite pas CFG, mais si celui-ci est installé vous pourrez modifier certaines options de fonctionnement. Dans le cas contraire, les réglages par défaut seront appliqués.

Dossier des compositions
Ce réglage vous permet de choisir le sous-dossier qui contiendra les différentes compositions. Par défaut le nom de dossier compositions/ est utilisé. C’est-à-dire que les compositions seront recherchées dans squelettes/compositions/, puis dans les sous dossiers compositions/ des plugins, etc.

Compositions des rubriques
Le plugin permet de sélectionner pour chaque rubrique un article d’accueil qui pourra être utilisé par le webmestre pour présenter la rubrique.

#ID_ARTICLE_ACCUEIL désigne l’id_article de l’article sélectionné en accueil.

Cette fonctionnalité peut être désactivée pour ne pas charger l’interface.

Sélection des squelettes
Par défaut, le squelette de la composition est sélectionné automatiquement par SPIP. Mais ce mécanisme est désactivable pour des besoins précis.

Définir des compositions

Une composition est constituée par une paire de fichiers : un squelette et un fichier XML qui l’accompagne et porte le même nom. Leur nom est composé du type de l’objet (article, rubrique ou autre) suivi du nom de la composition séparée par un tiret. Par exemple : article-edito.html et article-edito.xml ou encore rubrique-chronologique.html et rubrique-chronologique.xml.

Les compositions doivent être rangées dans un sous-répertoire de votre dossier squelettes, appelé compositions/ (le nom de ce sous-répertoire est configurable).

Il est possible de définir une composition par défaut pour chaque type d’objet, en la nommant simplement article, rubrique, etc. sans la suffixer.

Pour définir une composition de type portfolio d’un article on va par exemple :

  • créer un squelette compositions/article-portfolio.html,
  • créer à côté un fichier compositions/article-portfolio.xml.

Le squelette sera constitué classiquement de boucles et balises pour réaliser l’affichage de l’article selon le mode de composition qui vous convient. Le fichier XML pourra contenir la description de cette composition :

Lorsqu’aucune composition n’est définie pour un type d’objet donné, aucune interface n’apparait dans l’espace privé.

Mais lorsque vous avez défini au moins une composition, une interface apparaît et permet aux administrateurs de choisir sur chaque objet la composition qui lui convient parmi celles qui sont définies.

Utilisation avec les squelettes de type Z comme Zpip

Utilisé avec un squelette Z comme le squelette Zpip, et à partir de la version 1.0 du plugin, le fonctionnement par défaut des compositions s’applique au cœur de page (le contenu). Le dossier par défaut pour mettre les compositions est alors contenu/.

Une composition contenu/article-portfolio.html sera alors utilisée à la place de contenu/article.html, le reste de la page étant alors inchangé. Pour plus d’information sur la construction des pages dans le squelette Zpip, voir sa documentation.

ll n’y a donc aucun réglage à faire pour utiliser le plugin Compositions avec Zpip : il suffit de déclarer des compositions dans un dossier contenu/ (dans le dossier squelettes/ par exemple) pour pouvoir les utiliser pour faire varier la présentation du contenu des objets de SPIP.

Utilisation personnalisée dans les squelettes

En dehors des squelettes Z, le fonctionnement du plugin par défaut est de sélectionner automatiquement un squelette, dans son intégralité. Ce mode de fonctionnement oblige donc à définir le squelette en entier pour chaque composition.

Pour une utilisation différente du plugin dans le cadre d’un squelette personnel, et pour utiliser les compositions pour faire varier une partie de la page uniquement, le mécanisme automatique peut être désactivé.

Dans ce cas, la balise #COMPOSITION peut être utilisée dans les squelettes pour inclure la bonne variante de composition dans la partie de la page que le webmestre souhaite faire varier.

Le plugin laisse donc la liberté au webmestre d’utiliser le mécanisme de compositions en fonction de son besoin propre.

#COMPOSITION
Si par exemple, vous souhaitez que le coeur des pages articles change en fonction de la composition choisie (mais les colonnes latérales, l’en-tête et le pied de page seront inchangés), vous remplacerez la partie concernée de article.html par

Cette inclusion doit se trouver dans une boucle article dans ce cas.

#ID_ARTICLE_ACCUEIL
Pour les rubriques, il est possible également d’utilise un article d’accueil.
Si l’option est activée, l’article d’accueil sélectionné depuis l’interface peut simplement être retrouvé avec la balise #ID_ARTICLE_ACCUEIL.

Par exemple

Interface

Lorsque des compositions ont été mises en place par le webmestre, un formulaire de sélection apparait automatiquement dans l’espace privé sur chaque objet de ce type.

Si vous êtes webmestre, vous pouvez verrouiller les compositions que vous ne souhaitez pas laisser modifiables. Seuls les webmestres pourront alors les modifier.


Sur les articles le bloc compositions indique que l’article est sélectionné en accueil

ou permet de le sélectionner pour l’accueil de la rubrique.

ecrire/?exec=compositions
La page exec=compositions permet de lister toutes les compositions disponibles pour chaque type d’objet SPIP, ainsi que tous les objets utilisant chaque composition.

Des icones pour vos compositions
Le plugin intègre dans le sous dossier images/ plusieurs icones simples que vous pouvez utiliser et décliner pour identifier vos compositions. N’hésitez pas à proposer vos variantes pour enrichir le plugin !

P.-S.

Ce plugin nécessite SPIP Bonux

Dernière modification de cette page le 18 avril 2011

Retour en haut de la page

Tout afficher

Vos commentaires

  • Le 1er avril 2011 à 13:37, par Shnoulle En réponse à : Compositions

    Bonjour,

    J’ai voulu installer la dernière V1 de composition. Cependant quand je l’active, tous semble bien fonctionner, mais dès que je veux éditer un article, j’ai :

    PHP Fatal error:  Only variables can be passed by reference in ..../spip/plugins/auto/compositions_v1/inc/compositions.php on line 45

    Bon, en regardant un peu cette ligne 45, je dois admettre que je suis bien dépourvu ....

    Autre chose : je ne retrouve plus sur la zone, le plugin composition V1 :)

    Merci à vous.

    Désolé : erreur de ma part ... : résolu grace à joseph, ne pas laisser de fichiers XML disgracieux n’importe ou ....

    • Le 1er avril 2011 à 13:46, par Shnoulle En réponse à : Compositions

      Oups , même chose sur la version 2 ... Je vais regarder la liste :)

      PHP Fatal error:  Only variables can be passed by reference in ..../spip/plugins/auto/compositions/inc/compositions.php on line 45

      Désolé : erreur de ma part ...

    • Le 2 mars 2012 à 11:45, par ocarette En réponse à : Compositions

      Merci pour ces plugins.

      Le problème existe toujours dans la V1 concernant l’erreur.
      De plus la V2 ne fonctionne pas sur mon site. La liste des compo de rubriques ne s’affiches pas.

      Olivier

    Répondre à ce message

  • Le 2 décembre 2011 à 13:41, par vincentm En réponse à : Compositions 1

    Bonjour,
    Je suis en train de faire mon premier site spip avec Zpip pour information. Voulant améliorer la composition des articles, j’ai pu lire qu’il me fallait ce plugin. Mais il m’est impossible de le télécharge via le lien en haut à droite.
    J’ai le message suivant :

    Not Found
    The requested URL /spip-zone/compositions_v1.zip was not found on this server.

    Savez vous où je pourrai télécharger la dernier version stable de ce plugin ?

    Merci d’avance de vos réponses,

    Répondre à ce message

  • Le 2 octobre 2011 à 20:19, par Lionel NICOLAS En réponse à : Compositions 1

    Bonjour,

    pour utiliser un squeltte qui me plait beaucoup (exibit) j’ai découvert et installé les dernieres versions de compositions, spip-bonux et cfg mais compositions ne me propose pour mes rubriques aucune des compositions présentes dans le répertoire ./squelettes/compositions.
    Il me dit juste "composition par défaut".

    Dans la config cfg de compositions le repertoire est « compositions/ » et j’ai coché les trois options en dessous « Sélection des squelettes » "Masquer le formulaire" et « Tout verrouiller »

    Quand je tente "ecrire/ ?exec=compositions " il me répond "Acces interdit".

    Est ce que quelque chose m’a échappé ?
    Merci d’avance et à bientôt !

    • Le 2 octobre 2011 à 20:50, par tetue En réponse à : Compositions 1

      Ah, j’avais eu le même souci, vendredi dernier, avec les dernières versions. Ça s’était résolu d’un coup, juste en affichant la page de config des compo, il me semble.

    • Le 2 octobre 2011 à 23:33, par Lionel NICOLAS En réponse à : Compositions 1

      La page de config avec Cfg ?

    • Le 4 octobre 2011 à 10:55, par tetue En réponse à : Compositions 1

      La page ?exec=configurer_compositions mais pardon, j’utilise Compositions 2 !

    Répondre à ce message

  • Le 5 septembre 2011 à 14:37, par gilles En réponse à : Compositions 1

    Quel est la différence entre « composition » et composition 1". Tout les deux sont hébergés sur spip-zone, mais ce ne sont pas les même version apparement. Et L’un est téléchargeable sur sur spip-contrib, l’autre sur « plugins.spip.net ». Tous les deux sont proposés dans l’interface d’admin.

     ???

    • Le 6 septembre 2011 à 08:41, par Manu En réponse à : Compositions 1

      C’est mentionné explicitement en début d’article sur la page dédiée à Compositions 2. La version 2 du plugin Compositions :
      -  apporte la possibilité de définir des héritages par branche.
      -  La fonctionnalité Article d’accueil présente dans la version 1 a été retirée du plugin pour constituer un plugin dédié.

    Répondre à ce message

  • Le 13 avril 2011 à 17:02, par Cécile En réponse à : Compositions

    Bonjour

    Je viens d’installer ce plugin qui fonctionne très bien sauf que dans l’administration de composition je n’ai pas le champ « Composition des rubriques » pour choisir ou non l’article d’accueil, je n’arrive pas à comprendre pourquoi ?
    Spip 2.1.9 [17500] / CFG 1.16.0 [45709] / Spip Bonux 2.2.17 [44864]

    Merci

    Edit : Désolée, en fait j’ai installé le plugin Composition 2.0... je n’étais donc pas sur la bonne page de Spip Contrib ;)

    Répondre à ce message

  • Le 13 avril 2010 à 14:28, par Stéphane Santon En réponse à : Compositions

    Bonjour,

    Y a-t-il une option dans objet-compo.xml pour ajouter une feuille de style dans HEAD seulement si cette compo est utilisée ?
    Merci

    • Le 13 avril 2010 à 14:39, par Cerdic En réponse à : Compositions

      Non. Ce qui est prévu en revanche, dans le cas ou tu utilises zpip, c’est une classe sur le body qui permet de cibler uniquement une composition.
      Ainsi si tu utilises la composition article-portfolio, les pages qui utilisent cette composition auront la classe « article_portfolio » sur <body>, et tu peux donc les styler en utilisant le selecteur
      body.article_portfolio ... { }

      Si tu n’utilises pas Zpip, il faut gérer cela par toi même au niveau de ton squelette.

      Cette solution permet de répondre à ton besoin, je pense, en évitant de changer les feuilles de styles d’une page à l’autre.

    • Le 13 avril 2010 à 15:10, par Stéphane Santon En réponse à : Compositions

      Super ! Merci :-)
      Je suis justement en train de tout basculer sur zpip.

    • Le 13 avril 2010 à 15:14, par Stéphane Santon En réponse à : Compositions

      En fait la question était pour réduire la taille des fichiers CSS. Ici il faut inclure tous les styles, donc pas glop...
      Ça aurait aussi permis la réutilisation facile des compos dans d’autres thèmes.

    • Le 14 avril 2010 à 16:08, par Benoît Labourdette En réponse à : Compositions

      Composition pour tous les articles d’une rubrique ?
      Avec le plugin Composition, on peut apporter dans le back-office des modifs aux rubriques et articles individuels, mais peut-on choisir une composition pour tous articles d’une rubrique (comme on le fait très simplement avec Spip en créant un squelette article-3.html par exemple, qui va piloter la mise en page de tous les articles de la rubrique 3).
      Merci !
      Benoît

    • Le 15 avril 2010 à 00:43, par Jean-Baptiste Pressac En réponse à : Compositions

      Utilisateur du plugin « Squelettes par mots clés », qui permet d’appliquer un squelette en affectant un mot clé à leur rubrique, je suis aussi très interessé par cette fonctionnalité et j’avais commencé à étudier les modifications à apporter à Composition pour implémenter une fonction permettant d’affecter une composition par défaut aux articles d’une rubrique. N’étant pas programmeur expérimenté, j’avance à petits pas, mais je veux bien apporter ma contribution. Cédric, on peut-être en discuter lors d’une SPIP Party sur Paris ?

      Jean-Baptiste

    • Le 22 juillet 2010 à 23:07, par Jean-Baptiste Pressac En réponse à : Compositions

      Bonsoir,

      Suite à ma tentative d’adapter le plugin pour appliquer une composition « par défaut » aux articles d’une rubrique, je suis revenu à mon point de départ après avoir constaté que la piste explorée n’était pas la bonne. Avant de repartir sur de nouvelles bases, j’ai rédigé l’article Compositions : suggestions d’évolutions dans le Carnet SPIP pour échanger sur cette éventuelle adaptation.

      Jean-Baptiste

    • Le 9 mars 2011 à 18:57, par tetue En réponse à : Compositions

      Pour une rubrique donnée, j’ai besoin de 2 compositions différentes, soit 4 squelettes de compositions différents, pour ses articles et sous-rubriques, parce que les fonctionnement différent... mais pas l’habillage CSS qui est identique dans toute cette branche. Compositions+Zpip me mettent quatre sélecteurs CSS à disposition :

      -  .rubrique_macomposition1,
      -  .article_macomposition1,
      -  .rubrique_macomposition2,
      -  .article_macomposition2

      là où une seule suffirait : .macomposition. Cela complique inutilement l’écriture du CSS !

      N’y a-t-il pas moyen de forcer l’affectation du sélecteur CSS ?

    Répondre à ce message

  • Le 6 octobre 2010 à 00:43, par Pascal Sonneville En réponse à : Compositions

    Bonjour,

    Est-il envisagé d’interfacer compositions et Cisf ?
    Ce sont deux plugins qui simplifient l’utilisation de SPIP et qui mériteraient de pouvoir fonctionner ensemble.
    Merci

    • Le 9 mars 2011 à 18:42, par tetue En réponse à : Compositions

      Qu’est-ce que le plugin « Cisf » ? Est-ce du même genre que « Kconf » ?

    Répondre à ce message

  • Le 9 février 2011 à 17:46, par Aurélien En réponse à : Compositions

    le critère {composition} est-il actif ? car il ne fonctionne pas lorsque je le met dans une boucle.

    Merci,
    Aurélien

    • Le 17 février 2011 à 17:40, par tetue En réponse à : Compositions

      Essayé à l’instant sur une BOUCLE RUBRIQUES, ce critère semble fonctionner à l’envers : il faut {!composition} — et non {composition} — pour obtenir les rubriques dotées d’une composition. Bug ?

    Répondre à ce message

  • Le 26 août 2010 à 16:25, par poupougnac En réponse à : Compositions

    Je pense que ca peut-être utile de préciser dans la doc qu’il est possible de faire une boucle tel que :

    1. <BOUCLE_articles(ARTICLES) {composition="nomdelacomposition"}>
    2. ...
    3. </BOUCLE_articles>

    Télécharger

    Ca peut, dans certains cas, avoir beaucoup d’utilité.

    • Le 9 février 2011 à 16:42, par Aurélien En réponse à : Compositions

      Ah oui ?

      Y a t’il d’autre critère ou balise dispo ? genre #TITRE_COMPOSITION ? ou {composition ?} ?

    Répondre à ce message

  • Le 19 janvier 2011 à 11:58, par ? En réponse à : Compositions

    Bonjour,

    Est-ce possible de faire choisir aux visiteurs, la composition qu’ils souhaitent ?

    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

  • 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, (...)

  • Adaptive Images

    15 novembre 2013 – 69 commentaires

    Un plugin pour permettre aux sites responsive d’adapter automatiquement les images de la page à l’écran de consultation. Adaptive Images, que l’on pourrait traduire par Images adaptatives, désigne la pratique qui vise à adapter les taille, (...)

  • Social tags

    8 septembre 2008 – 428 commentaires

    Le plugin Social Tags permet d’ajouter des icônes de partage de liens vers les sites tels que Digg, Facebook, Delicious.... Une fois le plugin installé et activé (voir doc.), le choix des sites se fait via un menu de configuration. Insertion (...)

  • Module de Paiement Stripe

    17 octobre – commentaires

    Stripe est un prestataire de paiement externe https://stripe.com/fr qui propose une API moderne et une interface de paiement extrêmement conviviale et efficace. Ce module permet les paiements à l’acte et les paiement récurrents. Configuration (...)

  • Métas

    8 août 2009 – 50 commentaires

    Ce petit plugin permet l’ajout, depuis l’espace privé, de metatags aux articles et rubriques de SPIP, ainsi que la mise en exergue de mots importants.

Ça spipe par là