SPIP-Contrib

SPIP-Contrib

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

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

Accueil > Squelettes > Outils pour squelettes > Multi-squelettes

Multi-squelettes

13 août 2012 – par siteswapjuggler – commentaires

2 votes

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

Méthode pour changer de squelettes dynamiquement, ici en fonction du nom de domaine utilisé.

Cette contribution a pour but d’aider ceux ou celles qui se trouveraient dans le même cas que moi.

Énoncé du problème

Mon souhait était le suivant : « Utiliser un seul espace-privé pour gérer les informations de plusieurs domaines et sous-domaines internet et donc avec des squelettes spécifiques pour chaque domaines ou sous-domaines ».

En posant la question sur le canal IRC, on m’a orienté vers le plugin multidomaine qui permet de déclarer un jeu de squelette différent pour chaque secteur d’un site spip.

C’était très proche de ce que je souhaitais mais limité au fait d’être lié à une organisation par « secteur ». Or dans mon idée il s’agissait de pouvoir s’affranchir de cette limite pour par exemple proposer des squelettes de « micro-sites » centrés uniquement autour d’un article et de ses dépendances (événement, documents, etc...).

J’ai donc poursuivi mes recherches et fini par trouver la solution suivant qui se révèle être assez simple au final.

Pré-requis

Afin de comprendre au mieux les éléments de cette contribution, je vous conseille les prérequis suivant :

  • une bonne connaissance de spip et du fonctionnement de ses squelettes
  • des bases en programmation PHP

Configuration des domaines

Pour commencer, il va falloir configurer les redirections de domaine.

Chez OVH par exemple il faut passer par l’option multi-domaine du compte qui comporte l’hébergement. Il faut attribuer la redirection des domaines et sous-domaines associés à votre SPIP vers son répertoire d’installation.

Par exemple vous pouvez effectuer les redirections suivantes :

Le dossier squelette

SPIP nous permet de modifié le chemin des squelettes utilisateurs par le biais de la variable $GLOBAL[’dossier_squelettes’] qui est égal par défaut à la valeur squelettes. Cette variable peut être redéfinie dans le fichier config/mes_options.php.

Par exemple si vous souhaitez ranger vos squelettes dans un répertoire banane, situé à la racine de votre installation SPIP il suffit d’utiliser le code suivant dans le fichier config/mes_options.php :

<?php
        $GLOBALS['dossier_squelettes'] = 'banane';
?>

Configuration multi-squelettes

Maintenant que nous avons redirigé les domaines et sous-domaines souhaités vers notre installation de SPIP et que nous savons modifier le répertoire des squelettes utilisateurs, il nous suffit d’écrire un test conditionnel pour changer ce répertoire en fonction du sous-domaine.

Le nom de domaine, tel qu’il apparait dans une adresse URL, est stockée dans la variable php $_SERVER et plus précisément dans $_SERVER['HTTP_HOST']. Ajoutons un petit switch dans notre fichier config/mes_options.php :

  1. <?php
  2. switch ($_SERVER['HTTP_HOST']) {
  3. case 'www.mondomaineprincipal.com':
  4. $GLOBALS['dossier_squelettes'] = 'mondomaineprincipal';
  5. break;
  6. case 'www.mondomainesecondaire.com':
  7. $GLOBALS['dossier_squelettes'] = 'www.mondomainesecondaire.com';
  8. break;
  9. case 'sous-domaine.mondomaineprincipal.com':
  10. $GLOBALS['dossier_squelettes'] = 'sous-domaine.mondomaineprincipal.com';
  11. break;
  12. default:
  13. $GLOBALS['dossier_squelettes'] = 'squelettes';
  14. }
  15. ?>

Télécharger

Et voila le tour est joué :-)

Dernière modification de cette page le 16 août 2012

Retour en haut de la page

Vos commentaires

  • Le 24 août 2012 à 00:22, par loic972 En réponse à : Multi-squelettes

    Salut et merci pour cette astuce qui à l’avantage d’être simple à mettre en place ! Par contre je me pose une question, en terme de statistiques, comment va réagir spip ? On ne pourra pas séparer les visites par nom de domaine ? Je pense que l’on sera obligé sur chaque jeu de squelettes d’utiliser google analytics.

    • Le 16 mai 2013 à 19:13, par siteswapjuggler En réponse à : Multi-squelettes

      Je pourrais te dire ça très prochainement je viens de mettre le système en place sur un de mes sites. Je pense que globalement on pourra aussi retrouver les stats en cherchant les stats par secteurs.

    Répondre à ce message

  • Le 14 août 2012 à 22:48, par Pierre KUHN En réponse à : Multi-squelettes

    Bonjour

    Si tu avais poser la question, j’aurais répondu que multidomaines peut descendre dans les rubriques. Il suffit de le prévoir.

    • Le 14 août 2012 à 23:05, par siteswapjuggler En réponse à : Multi-squelettes

      Bonjour Pierre,

      en fait j’osais pas forcément demandé et du coup ça m’a permis de comprendre un peu mieux certain fonctionnements de SPIP. Mais si ça te tente, pourquoi pas tenter une extension de ton plugin. En prévoyant des modes de redirections moins contraignant que les secteurs.

      ++ Sylvain

    • Le 14 août 2012 à 23:57, par Pierre KUHN En réponse à : Multi-squelettes

      Bonsoir

      Je peux lui rajouter les rubriques en limitant à 2 niveau supplémentaire par exemple.
      Par contre, je ne pourrais pas descendre sur les articles et autres objets car cela complique trop.

      Le plugins en soit est simple a mettre place donc oui, rajouter de la possibilité serais bien.

    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à