SPIP-Contrib

SPIP-Contrib

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

290 Plugins, 198 contribs sur SPIP-Zone, 61 visiteurs en ce moment

Accueil > Squelettes > Tutoriels pour squelettes > Un squelette par secteur (gestion par dossier)

Un squelette par secteur (gestion par dossier)

8 décembre 2013 – par CloudGirofle

10 votes

Ceci est une « contribution pédagogique », qui montre par l’exemple comment développer une nouvelle fonctionnalité pour SPIP.

Il existe plusieurs méthodes permettant de squelettiser chaque secteur, vous les trouverez facilement sur le web.

Avant de se lancer sur cette démarche de gestion arborescente, il est nécéssaire de connaître quelques fondamentaux alternatifs à cette méthode :

Le besoin ?

Considérons un portail web, permettant l’accès à plusieurs vitrines.
Le portail sera représenté par la page sommaire.html et chaque vitrine, correspondra à un secteur du site spip.

Difficultés à prendre en compte

Une personnalisation poussée des secteurs peut rapidement provoquer une amoncellement de fichiers « en vrac ». Chaque modification pouvant malencontreusement avoir des incidences/régressions non prévues sur une autre vitrine/secteur.

Afin de pallier à cette problématique, la séparation complète des ressources peut être la solution.

Dans la méthode proposée ci-dessous, nous partons du principe que nous séparons totalement les environnements en isolant les ressources css, img, js, includes... par secteurs.

Organisation

Considérons nos vitrines :

  • Un site commercial = id_secteur 1
  • Un site de support = id_secteur 2
  • Un blog = id_secteur 3

Arborescence :

  1. A la racine de notre répertoire squelettes vide nous créons les répertoires :
  • siteCommercial
  • siteSupport
  • siteBlog
  1. A la racine du répertoire squelettes, vous y déposerez vos fichier HTML vides (sommaire, article, rubrique...).
  2. Dans chacun de ces répertoires, vous y déposerez vos squelettes dédiés à chaque vitrine, avec vos fichiers (html, css ,js ,img) spécifiques au squelette du secteur.

Nous obtenons donc ceci :

./squelettes/siteCommercial/sommaire.html
./squelettes/siteCommercial/article.html
./squelettes/siteCommercial/rubrique.html
./squelettes/siteCommercial/css/...
./squelettes/siteCommercial/js/...
./squelettes/siteCommercial/img/...

./squelettes/siteSupport/sommaire.html
./squelettes/siteSupport/article.html
./squelettes/siteSupport/rubrique.html
./squelettes/siteSupport/css/...
./squelettes/siteSupport/js/...
./squelettes/siteSupport/img/...

./squelettes/siteBlog/sommaire.html
./squelettes/siteBlog/article.html
./squelettes/siteBlog/rubrique.html
./squelettes/siteBlog/css/...
./squelettes/siteBlog/js/...
./squelettes/siteBlog/img/...

Comment faire nos appels vers les bons fichiers de squelettes ?

Le principe est très simple.
Pour accéder à chacune des vitrines, il suffira que sur le sommaire.html principale, vous fassiez des liens vers les sommaire.html des vitrines (sous-dossiers/sommaire.html).

Ensuite, considérons l’affichage d’un article sur l’une de nos vitrines. Cet article appartient forcément à un secteur unique. Nous allons donc tester son appartenance à un secteur et lui faire afficher le squelette article.html du sous-dossiers concerné.

Code HTML de ./squelettes/article.html

<BOUCLE_article(ARTICLES){id_article}>
[(#ID_SECTEUR|=={1}|oui)<INCLURE{fond=siteCommercial/article,id_article,env}/>]
[(#ID_SECTEUR|=={2}|oui)<INCLURE{fond=siteSupport/article,id_article,env}/>]
[(#ID_SECTEUR|=={3}|oui)<INCLURE{fond=siteBlog/article,id_article,env}/>]
</BOUCLE_article>

Bilan

Cet article ne se veut pas exhaustif, mais il a pour but de présenter une méthode simple et facile à gérer.

Dernière modification de cette page le 9 décembre 2013

Retour en haut de la page

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

  • SPIP 3.2, Agenda et FullCalendar

    6 juin – 20 commentaires

    Nous avions publié un article sur la manière d’utiliser FullCalendar avec SPIP 3.0 afin d’afficher des évènements sous forme d’Agenda. La version de FullCalendar a changé avec SPIP 3.2. Le présent article est donc un tutoriel adapté à SPIP 3.2. Pour (...)

  • Grappes 1.0

    23 novembre 2012 – 36 commentaires

    Présentation et nouveautés Cette version 1.0 du plugin Grappes est un portage pour SPIP 3.x. Le plugin permet de grouper des objets de SPIP dans des grappes. Les objets du core (articles, rubriques, auteurs, etc.) sont pris en charge, ainsi que (...)

  • Passer un site SPIP sous https://

    23 février 2017 – 41 commentaires

    Comment migrer simplement votre site SPIP de http:// vers https:// Le protocole https:// devient de plus en plus courant : C’est mieux pour la vie privée de tous La plupart des grands sites l’a déjà adopté Certains navigateurs commencent à afficher (...)

  • PHANTOM (HTML5UP)

    18 juillet – commentaires

    Squelette SPIP pour intégrer le modèle Phantom de HTML5UP. https://html5up.net/phantom Installation A l’activation, le plugin installe aussi les plugins suivants : crayons, favicon, metasplus+, Couleur d’objet, champs extras, SPIP reset centre (...)

  • Cycle2

    7 août 2014 – 119 commentaires

    La seconde version de la librairie Javascript « jQuery Cycle », qui permet de produire des diaporamas, se nomme « Cycle2 » : http://jquery.malsup.com/cycle2/. Voici cette nouvelle librairie mise en plugin pour SPIP. Si vous utilisez déjà « jQuery (...)