SPIP-Contrib

SPIP-Contrib

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

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

Accueil du site > Squelettes > Tutoriaux pour squelettes > Archives Tutoriaux squelettes > Placer les squelettes dans des sous répertoires

Placer les squelettes dans des sous répertoires

5 avril 2005 – par Pierre Bressy – <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

Comment organiser de façon hiérarchique ses squelettes dans un site sous SPIP, en plaçant des squelettes à la racine de SPIP mais également dans des sous-répertoires.

Un besoin de hiérarchiser le site…
Lorsqu’un site devient important en terme de contenu, il devient indispensable de hiérarchiser ses données et tout particulièrement les squelettes à l’intérieur du site.

Réorganisation et position des squelettes
La hiérarchisation passe par une réorganisation du site avec la création de sous-répertoires, typiquement pour des images, des fichiers à télécharger… mais également pour les squelettes. Or l’utilisation de sous-répertoire à l’intérieur du site pour y placer les squelettes est assez difficile à réaliser. On peut lire diverses articles sur le sujet mais je n’ai trouvé aucune réponse satisfaisante à mon problème, à savoir une solution simple à mettre en place, facile à maintenir. Un site non hiérarchisé utilisant SPIP contient, à la racine du site, un répertoire ‘SPIP’ dans lequel on place normalement les couples (.php3 / .html) formant les squelettes. Un site réorganiser doit pouvoir accueillir les squelettes dans des sous-répertoires, n’importe où dans le site.

Base de la solution
J’ai basé ma solution sur l’utilisation du fichier ecrire/mes_options.php3 qui permet de définir de manière statique et figée pour le site l’unique répertoire contenant tous les squelettes du site.

Exemple de fichier mes_options.php3  :

< ?php
$dossier_squelettes="./squelettes" ;
 ?>

Dans ce fichier, on définit le répertoire contenant les squelettes SPIP, de manière unilatérale. D’une manière pratique, les couples (.php3 / .html) sont séparés. Les fichiers .php3 sont maintenus à la racine du site, les fichiers .html étant quant à eux dans le répertoire ‘squelettes’.

J’ai trouvé l’idée intéressante et fort de mon expérience j’ai décidé d’y apporter quelques modifications, afin d’ajouter la possibilité de spécifier des répertoires différents pour chaque squelette. Je garde les fichiers .php3 à la racine du site et je place mes fichiers .html n’importe où dans le site.

Evolution
L’idée est de spécifier l’emplacement des fichiers .html dans les .php3 correspondants (ceux qui restent à la racine du site). Dans ce .php3, je positionne une variable PHP appelée $dossier_location qui contient le répertoire du fichier .html correspondant.

Exemple de fichier myarticle.php3 :

< ?php

$dossier_location="sous_rep_my" ;

$fond = "myarticle" ;
$delais = 24 * 3600 ;

include ("inc-public.php3") ;

 ?>

Je crée donc un répertoire ‘sous_rep_my’ sous la racine de SPIP et j’y place mon fichier myarticle.html.

Le fichier ecrire/mes_options.php3 est modifié très légèrement de manière à prendre en compte la spécification de l’emplacement du squelette (.html).

Le fichier mes_options.php3 modifié :

< ?php
// test si un dossier spécifique est précise dans le .php3 du squelette
// si oui, on force $dossier_squelette à cette valeur
// si non, on met la valeur par défaut
if($dossier_location)

$dossier_squelettes=$dossier_location ;

else

$dossier_squelettes="./" ;

 ?>

Arborescence :
/ ( racine du site)
/SPIP (répertoire contenant SPIP et contenant ‘myarticle.php3’)
/SPIP/sous_rep_my (répertoire contenant mon squelette ‘myarticle.html’)
/SPIP/ecrire (répertoire contenant la partie admin de SPIP et mes_options.php3)

Extension :
Il est possible par extension de placer les fichiers .html dans des répertoires imbriqués. Par exemple un squelette ’articles_publics.html’ pourra être placé dans le répertoire /SPIP/mes_squelettes/publics. Le .php3 correspondant sera de la forme suivante :

Exemple de fichier articles_publics.php3 :

< ?php

$dossier_location="mes_squelettes/publics" ;

$fond = "articles_publics" ;
$delais = 24 * 3600 ;

include ("inc-public.php3") ;

 ?>

Arborescence étendue :
/ ( racine du site)
/SPIP (répertoire contenant SPIP et contenant ‘articles_publics.php3’)
/SPIP/mes_squelettes
/SPIP/mes_squelettes/publics (répertoire contenant mon squelette ‘articles_publics.html’)
/SPIP/mes_squelettes/prives (répertoire contenant mon squelette ‘articles_prives.html’)
/SPIP/ecrire (répertoire contenant la partie admin de SPIP et mes_options.php3)

A télécharger sur cet article
J’ai créé un fichier ’article_sous_rep.zip’ qui contient les fichiers dont je parle plus haut.

Bilan
En ajoutant une ligne dans le fichier .php3 des squelettes pour spécifier le sous-répertoire contenant le .html correspondant, et en prenant exemple sur le fichier mes_options.php3 décrit ci-dessus, il est possible de placer ses squelettes de manière hiérarchisée dans un site en SPIP.

Retour en haut de la page

Vos commentaires

  • Le 12 juillet 2005 à 12:54, par Léon En réponse à : > Placer les squelettes dans des sous répertoires

    mais d’origine y’a pas le fichier : ecrire/mes_options.php3 ???

    Répondre à ce message

  • Le 22 août 2005 à 17:36, par ? En réponse à : > Placer les squelettes dans des sous répertoires

    Comme beaucoup d’articles dans ce forum, on ne sait pas avec quelle version de SPIP cela fonctionne.
    De plus, certains auteurs parlent de l’emplacement des squelettes a indiquer dans les fichiers « mes_options.php3 » et/ou « mes_fonctions.php3 » ce qui sème, encore une fois, la confusion...
    Doit-on indiquer l’emplacement de ces squelettes dans « mes_options.php3 » qui est dans le repertoire « ecrire » ? Doit-on le faire dans le fichier « mes_fonctions.php3 » qui, lui, est situe a la racine du site ? Doit-on le faire dans les 2 fichiers ??? On ne sait pas, comme d’hab...
    Ce qui fait que des trucs et astuces super comme celui donne ici, passent pour une prise de tete du fait qu’ils ne sont pas assez souvent clairement expliques...

    • Le 23 août 2005 à 08:40, par DoriaN En réponse à : de les remarques...

      Bonjour, ce site est géré bénévolement par une équipe d’administrateurs, et les commentaires pour améliorer le site sont en général bienvenus, s’ils sont exprimés cordialement ;-)

      Concernant cette contribution proprement dite, elle se trouve dans la rubrique « bidouilles » et comme le précise le texte d’avertissement, son fonctionnement n’est pas assuré. En gros la contrib est intéressante, donc autant la publier, mais pas vraiment aboutie au sens que les admins y donne sur spip-contrib. Elle n’est donc pas pour les débutants, mais pour ceux qui connaissent déjà bien spip.

      Un groupe de mots-clés (au sens de spip) permet de connaitre les versions compatibles avec la contrib, il est affiché dans la colonne de droite si besoin.

      La variable dossier_squelette peut être précisé soit dans mes_fonctions.php3 soit dans ecrire/mes_options.php3, cela peut paraitre troublant (?) moi ça ne me gène pas au contraire

      Les autres questions j’ai oublié...

    Répondre à ce message

  • Le 5 août 2005 à 00:30, par Mobcustom En réponse à : > Placer les squelettes dans des sous répertoires

    J’ai essayé avec la version 1.8, ça n’a pas l’aire de fonctionner. - :(

    Est ce que quelqu’un y est arrivé ?

    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

  • 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.

  • Navigation AJAX

    31 janvier – 18 <blink style='color:red;'>public|spip|ecrire:commentaires</blink>

    Ce plugin permet de modifier automatiquement une parties des liens internes de manière à ce qu’ils ne déclenchent pas un chargement complet de la page cible, mais un chargement en AJAX de certains éléments spécifiés à l’avance. Il permet aussi de (...)