SPIP - Contrib

[ar] [en] [es] [fr] [it]



Accueil du site > Outils pour squelettes > Aides à la composition des squelettes > SKtheme

Plugin : Sktheme

Gestion de theme pour spip 1.9.1

mardi 19 décembre 2006, par skedus. Dernier ajout vendredi 15 décembre 2006

Toutes les versions de cet article :



- Nom du Plugin : sktheme
- Version : 0.6
- Auteur : Collaboratif sur SPIP-Zone
- Licence : GPL
- Compatibilite SPIP : compatible SPIP > 1.9
- Site(s) exemple : Skedus Land
- Principales fonctionalités et spécificités :

  • Gestionnaire de repertoire theme pour les differentes distribution de squelettes et de css
  • Switcher de theme pour l’espace public

Installation

- Pour commencer il faut récupérer l’archive du plugin, bref le .zip pour cela deux facons la première ici là en dessous, ou alors directement sur spip-zone

- Unzipper le fichier sktheme-0.6-plugin.zip (qui vous donnera un répertoire sktheme
- Téléchager le répertoire sktheme (et son contenu ;-) ) dans votre répertoire plugins (créer le répertoire plugins à la racine de votre site spip si nécessaire)
- Dans le menu Configuration->Gestion des plugins de l’espace privé, activez le plugin Sktheme

Vous êtes près pour la configuration en utilisant le menu Configuration->Gestion des themes de l’espace privé

  1. Choisissez votre squelette (au début il n’y a pas trop le choix juste dist la distribution officielle de SPIP mais vous pourrez en ajouter d’autres)
  2. Une fois le squelette choisi la liste des habillages en dessous se mettra à jour et vous pourrez en choisir un (au début là encore il s’agit de dist mais nous allons voir plus loin comment en ajouter).

Pour ceux qui veulent aller vite vite ...

Parfois une démo est plus explicite qu’un long blabla aussi vous pouvez télécharger un répertoire themes exemple ici là en dessous, il vous suffit alors :

  1. Télécharger le fichier sktheme-0.6-themes.zip ci-joint
  2. unzip du fichier (qui vous donnera un répertoire themes
  3. transférer ce répertoire à la racine de votre site SPIP
  4. retourner dans l’espace privée : Configuration->Gestion des themes

  1. sélectionner un nouvel habillage (ces habillages sont prévus pour la distribution de squelettes officielle)
  2. valider

et voilà votre espace public à changé :-) magique non ?

Principe

Voyons maintenant le principe qui est en fait tout simple.
- L’idée est d’utiliser la possibilité de SPIP de surcharger ses répertoires de recherche.
- De définir un theme comme une distribution de squelettes + un habillage css

L’ordre de recherche d’un fichier sera donc :

  1. répertoire d’habillage (un répertoire par habillage) [1]
  2. répertoire de squelette (un répertoire par squelette) [2]
  3. votre répertoire squelette (si vous en avez un)
  4. répertoire dist (la distribution de squelette SPIP)

Sktheme permet ainsi de choisir les l’emplacements des deux premiers (dans la configuration avancé) par défaut le répertoire themes.

Pour plus de souplesse, il est possible de définir le même répertoire ou non, au choix.

Astuce :

On voit également qu’en plaçant des squelettes (sommaire.html par exemple) dans les répertoires habillages, non seulement on change les couleurs le look, mais aussi la structure de la page public. Mais au départ l’idée est plutôt de mettre les squelettes dans un répertoire, et le changement lié aux css ou aux images dans un répertoire habillage.

Pour faire la difference entre les répertoires contenant des squelettes et ceux contenant des habillages (css/images) sktheme utilise un fichier appelé theme.xml [3]. C’est ce fichier présent dans chaque répertoire qui permettra la mise à jour des listes de l’espace privée.

Le switcher

Sur la spip-zone on trouve un tas de truc utiles, ce n’est pas un scoop, il existe un plugin switcher fait par Fil qui permet d’avoir plusieurs répertoires squelettes pour faire des tests, en le modifiant légèrement pour prendre en compte les deux répertoires de sktheme on peut passer d’un thème à l’autre. J’ai donc inclu ce nouveau switcher dans sktheme, (merci Fil).

ATTENTION le switcher de sktheme utilisant le même principe que le plugin switcher, vous devrez désactiver le plugin switcher si vous utilisez le plugin sktheme.

Ce switcher doit être activé dans la configuration avancé, vous pouvez choisir de l’activer pour les administrateurs seulement ou pour tout le monde.

Une fois activé un menu déroulant sera disponible en haut à gauche de votre site public pour passer plus facilement d’un theme à l’autre.

Balise

Skteme introduit une balise supplémentaire, qu’il est possible d’inclure dans vos squelettes.

- #SKTHEME_HABILLAGES_SWITCHER : cette balise inclu un menu déroulant sur les habillage disponibles, permettant ainsi pour un squelette donné, de changer son habillage, par vos utilisateurs (les goûts et les couleurs ;-) ).

Création des thèmes

- cela se résume à la création de squelette et de fichier css (comme d’habitude)
- ensuite on place le résultat dans un répertoire et un simple fichier theme.xml permet de faire fonctionner sktheme.

Mais le plus simple est de vous inspirer du répertoire de test distribué ci-joint.

En espérant que ce plugin puisse vous rendre service

Descriptif :

Démonstration : J’utilise Sktheme sur mon site

Identifiants personnels

Lien hypertexte :

6 Signatures

Date Nom Message
26 octobre 2007 Léopold
site web
10 mai 2007 Jean-Marc Brûlé
site web
6 mars 2007 malicelasouris
site web
8 janvier 2007 snfolc95
site web
28 décembre 2006 hal
site web
25 décembre 2006 john56
site web

Rechercher

Notes

[1] un répertoire d’habillage se trouve dans le répertoire d’habillages défini dans la configuration de sktheme

[2] un répertoire squelette se trouve dans le répertoire squelette défini dans la configuration de sktheme

[3] ce fichier est décrit en ligne et en détail dans l’onglet documentation du plugin


Répondre à cet article

  • Plugin : Sktheme

    25 janvier 2008 13:10, par mathdesc

    Je ne comprends pas, le plugin ne fonctionne pas chez moi (1.9.2c). J’ai beau change les habillages , l’espace public (squelette dist de base) ne change pas.

    Indice par ailleurs : en plus lorsque j’ai valider un changement d’habillage et que je recharge la page, l’input de type radio perd sa petite puce, c’est à dire que mon choix semble être invalidé. D’ailleurs le texte mise à jour pour l’habillage passe alors à vide en lieu et place du nom de l’habillage précédemment validé.

    0_o’

    Pb de permissions ? on dirait pas... je séche.

    merci d’avance

    Répondre à ce message

    Retour au début des forums

  • Plugin : Sktheme

    14 novembre 2007 16:04, par livier

    Je tente l’utilisation de SPIP en version 1.9.3, puis je remet le plugin sktheme ...

    Mais dèd que je vais dans "configuration > gestion des themes" j’obtiens :

    Fatal error: Call to undefined function: debut_page() in /home_axe/loa/www/plugins/sktheme/exec/sktheme_public_choice.php on line 41

    C’est l’évolution de spip qui est trop violente pour violente pour les plugins, ou il y a une autre idée ?

    Répondre à ce message

    Retour au début des forums

  • Plugin : Sktheme

    31 octobre 2007 11:53, par Bruno

    En version 1.19 de spip debut_cadre_gris_clair et fin_cadre_gris_clair n’existe pas dans \ecrire\inc\presentation.php ...... Donc le plugin téléchargé ici se plante

    Je les ai remplacé par debut_cadre_couleur_foncee et fin_cadre_couleur_foncee

    Répondre à ce message

    Retour au début des forums

  • Plugin : Sktheme

    18 septembre 2007 23:30, par gurdil

    Je voulais juste signaler que j’ai eu un petit bug avec le switcher intégré et les sites mutualisés. En effet, le cookie ne tenait pas la route puisqu’il était spip_sktheme pur tous les sites. J’ai résolu le problème en remplaçant tous les ’spip_sktheme’ par $cookie_prefix.’_sktheme’ dans sktheme_options.php

    Répondre à ce message

    Retour au début des forums

  • Bonjour,

    Ce plugin est vraiment très pratique ! Mais la nouvelle version de Spip génère des problèmes.
    En passant vers Spip 1.9.2 j’ai eu le problème de la fonction cadre_gris_clair, à changer en cadre(gris clair). C’est réglé (mais ce serait bien de faire une version de sktheme bêta avec cette rectif pour la Spip 192).

    Toutefois, il n’apparaît toujours pas les trois choix en haut de page (Choix thème public|configuration avancée|documentation), ni rien du tout en bas de page (version de Spip, etc.).
    Si je fais à la main : ?exec=sktheme_config, ou bien ?exec=sktheme_doc j’ai bien le résultat escompté. Mais toujours sans le bas de page (version de Spip, etc.)

    Ne serait-il pas possible de régler cela et de faire une version bêta entre la Spip 191 et 192 ?
    Merci !

    Répondre à ce message

    • La correction est prevue et sera faites pour SPIP 1.9.2, c’est la fonction debut_cadre_gris_clair() qui n’existe plus dans SPIP1.9.2. Mais ici la distribution est faites pour le SPIP stable courant. il faut utiliser debut_cadre() cela devrai fonctionner.

      plus exactement :

      echo debut_cadre(’gris_clair’) ; au lieu de : echo debut_cadre_gris_clair() ;

      et

      echo fin_cadre(’gris_clair’) ; au lieu de : echo fin_cadre_gris_clair() ;

      Cela sera mis à jour pour la 1.9.2 voilà voilà

      Répondre à ce message

      • J’ai fait cette correction et je n’ai plus le message d’erreur, oui.
        Mais le problème n’est pas là, c’est l’absence des choix en tête de page et du bas de page qui pose problème.
        Même en corrigeant la fonction, ces points manquent. Suis-je la seule ?

        Répondre à ce message

      • Bonjour,

        Si j’étais venu ici avant de me lancer dans l’habillage, peut-être que j’allais moins souffrire ! En effet, cette "maudite" instruction

        echo debut_cadre_gris_clair() ;

        m’a fait presque pleurer ! Et puis, comme je sais me débrouiller en toute chose, j’ai ouvert dans notepad++ le fichier

        sktheme_public_choice.php

        qui contient les erreurs signalées aux numéros : 118 137, 206, 241.

        J’ai pris le risque de désactiver les lignes en question comme, par exemple ici.

        echo ’
        ’ ; echo ’

        ’ ; foreach( $squelettes_list as $key => $value) $s_info = sktheme_xml_get_infos($value,"theme") ; // echo debut_cadre_gris_clair() ; echo $s_info[’extra_img_puce’] ; if ($squelette_public_name==$key) echo ’’ ; $o_info = $s_info ; else echo ’’ ;

        Et voilà ! ça marche ! Depuis 8h jusqu’à 17h 54mn ! J’ai crié victoire ! Personnellement, je suis finalement heureux. Car, mes rudiments en php sont totalement maigres comme peau de chagrin. Et voilà, je prends la décision "d’y voir clair" par moi-même. Et j’ai réussi. Je retiens que l’échec aussi n’est pas si mal. ça nous maintient en éveil. C’était là mon témoignage. Celui d’un débutant venu tout droit du Guppy Land. Qui y était très heureux. Mais qui a été saisi profondément par la beauté des sites faits avec Spip. Je suis heureux de devenir membre de Spip. Accueillez-moi les bras ouverts !

        Mon site est encore en local. S’il y a quelqu’un qui peut me dire le nom d’un hébergeur gratuit, mais sans pub ou sans beaucoup de pub. Je lui dis d’avance merci. Comme ça je pourrais d’ici là, me mettre en ligne sur le Net, et faire ainsi la joie des "Spipiens".

        Je rappelle que j’avais déjà, obtenu de l’aide ici, il y a à peine trois jours, peut-être. Un membre m’a indiqué un bon tuto, alors que je me plaignais de trouver trop difficiles les tutos du site officiel. c’est un document en pdf, téléchargé, dont le titre est : "Spip 1.9 Cours Ouebdeveloppeur" de SELF-RELIANCE asbl

        Merci à tous. Je m’arrête là pour l’instant.

        Répondre à ce message

    Retour au début des forums

  • Plugin : Sktheme

    16 août 2007 16:13

    Bonjour, Tout d’abord merci pour ce plugin. Toutefois je recontre un problème avec son utilisation pour des sites mutualisés : Lorsque SKTheme est activé, je vois apparaître des pages de redirection "HTTP 302" tout le temps dans mon adminisatration (quand je crée un article ou un rubrique par exemple).

    Je suis sous SPIP 1.9.2b et j’utilise la version 0.6 de sktheme (avec switcher). Avez-vous une idée d’où pourrait venir ce problème ?

    Répondre à ce message

    • Plugin : Sktheme 17 août 2007 16:23

      Après avoir trituré un peu les fichiers, il semblerait que cela vienne de Sktheme_options.php. Je n’ai plus le problème pourtant il ne me semble pas avoir fait de modification dansle dit fichier, je l’ais juste réenregistré, je me demande donc si le problème ne vient pas de l’encodage...

      Répondre à ce message

    Retour au début des forums

  • Plugin : Sktheme

    22 avril 2007 17:05

    Bonjour,

    j’ai beau mettre un fichier theme.xml, le menu switcher de même que l’espace privé ne me donne pas les bon nom pour les themes : il se sert que des noms de dossier

    Répondre à ce message

    Retour au début des forums

  • Plugin : Sktheme

    18 avril 2007 07:22

    J’ai installé SKtheme, l’installation c’est bien passée :

    - Activation du plugin
    - enregistrement squelette et habillages

    - Répertoires pour les squelettes publics : themes
    - Répertoires pour les habillages publics : themes

    - Activation du switcher de thème

    J’utilise alternatif 1.9.1

    Tous semble bien fonctionner mais les themes ne se mettent pas sur le site

    Merci

    Répondre à ce message

    Retour au début des forums

  • Plugin : Sktheme

    28 mars 2007 17:47, par Marco87

    Bonjour !

    J’utilise Alternatives avec Spip 1.9.2a. J’apprécie beaucoup son look et sa clarté.

    J’ai un message "Internal Server Error" qui apparaît parfois :

    Internal Server Error

    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Please contact the server administrator, "mon adresse courriel" and inform them of the time the error occurred, and anything you might have done that may have caused the error.

    More information about this error may be available in the server error log.

    J’ai contacté mon hébergeur (ouvaton) qui me signale que cette erreur est dûe soit à un temps de calcul trop long de chaque page soit à une surcharge de mémoire (limite 16Mo) (tout ça sur le serveur bien sûr).

    Y a-t-il quelque chose à faire ?

    La personne qui m’a répondu m’a signalé que, dans le code source des pages, il y a 2 fois le même script appelé dans l’head. Serait-ce une piste ?

    Si on demande la réactualisation, la page s’affiche alors assez vite....

    Merci pour vos lumières !

    MD 8>

    Voir en ligne : Voir mon site

    Répondre à ce message

    Retour au début des forums

  • installer un squelette

    8 mars 2007 18:02, par Jean Christophe

    Bonjour

    Je dois être un peu manche car je n’arrive pas à faire fonctionner la bête. Je voudrais installer mon propre squelette.

    Voilà ce que j’ai tenté (en local) :
    - Installation d’un spip 1.9.1 neuf
    - Restauration de ma base sur ce spip
    - Installation et activation du plugin sktheme
    - Jusque là tout va bien (sympa l’habillage Ploumanach)

    Après ça coince !

    - Copie de l’intégralité de mon dossier squelettes qui va bien dans /squelettes/jules
    - Paramétrage dans "configuration avancée" des répertoires squelettes et habillages à la valeur "squelettes" et enregistrement
    - Création des deux fichiers theme.xml et plugin.xml dans le répertoire /jules

    Et ensuite dans plugin.xml je mets quoi pour la balise prefix ?

    Et dans theme.xml, pour les balises type et squelette ?

    Tous mes essais ne donnent rien, je retombe sur le squelette dist. Je suis un peu largué là.

    Un autre truc à rajouter ailleurs ? Une erreur quelque part ?

    Merci de la réponse

    Répondre à ce message

    Retour au début des forums

  • Plugin : Sktheme

    17 janvier 2007 09:43, par john

    et finalement, au bout du compte, que faut il faire pour que le cache tourne, je trouve les accès à mes deux sites lents. Merci

    Répondre à ce message

    • Plugin : Sktheme 19 janvier 2007 10:19, par skedus

      En fait beaucoup d’entre vous n’ont pas besoin du switcher alors vous trouverez une version sans le switcher, ici au dessus :-) Javais ajouté le switcher pour la période du choix d’un squelette et d’un theme au début de la creation d’un site pour pouvoir tester plusieurs distributions rapidement, et ou les performances liées au cache ne sont pas cruciales. Cette nouvelle version permet de changer entre plusieurs themes plus tranquilement dans l’espace privé.

      Répondre à ce message

    Retour au début des forums

  • Sktheme et cache...

    7 janvier 2007 23:39, par Gilles

    Bonjour,

    J’ai chargé le plugin SkTheme avec l’ensemble de squelettes et thèmes Alternatives. Tout semble bien fonctionner, cependant, j’ai observé que mon cache n’évolue plus dès lors que SkTheme est activé. Et ça ne me semble pas tout à fait heureux...

    Sait-on quelque chose à ce sujet ?

    Cordialement

    Gilles

    Répondre à ce message

    • Sktheme et cache... 8 janvier 2007 10:56, par skedus

      J’ai eu cette impression également, mais il me semble qu’avec la modification sugéré par Fil cela était résolu. De plus il faut se méfier du cache des navigateurs, qui peux donner cette impression également. A voir néanmoins.

      Répondre à ce message

      • Sktheme et cache... 9 janvier 2007 12:04, par Gilles

        Bonjour,

        Bien sûr, le cache que j’évoque n’est pas celui de mon navigateur... C’est celui dont je peux voir l’évolution dans l’espace privé (Configuration -> vider le cache) et qui n’évolue plus dès lors que SkTheme est activé. Ceci est de plus corroboé par la visite sur le serveur des dossiers compris dans le dossier Cache. Plus aucun nouveau fichier n’est créé. J’ai pensé que SkTheme pouvait créer son propre jeu de fichier, mais je n’en ai pas trouvé trace...

        S’il n’y a pas de nouveaux fichiers créés, ça semble bien signer que la mémoire cache n’évolue plus, à moins que la modification que vous évoquez (à partir d’une proposition de Fil) contourne ceci par un autre dispositif, lequel ignorerait le cache...

        Quoi qu’il en soit, le système de cache (ou autre comparable) est important à mes yeux, puisqu’il garantit un accès rapîde au site à tous les internautes et pas à ceux seulement qui ont un accès rapide à l’internet... En conséquence, j’ai besoin de savoir qu’un système est opérationnel sur SkTheme pour prendre en charge cette question. Peut-être ceci mériterait d’être éclairci...

        Pourriez-vous faire connaître la proposition de Fil ? A-t-elle conduit à une modification de SkTheme qui produise le résultat escompté (rapidité d’affichage) par un jeu de cache ou autre ?

        Merci d’avance pour votre réponse

        Gilles

        Répondre à ce message

        • Sktheme et cache... 9 janvier 2007 19:09, par skedus

          J’ai vérifié c’est effectivement le cas quand le switcher est activé, c’est en effet la modif proposé par Fil qui permet de désactiver le cache quand le switcher est en place pour soulager le serveur, car chaque uilisateur choisissant un theme différent (partie publique) provoquerai le recalcul du cache (on ne gagnerai pas beaucoup à avoir un cache dans ce cas). Dans le cas ou il n’est pas activé (sktheme simple, choix du theme dans la partie privée pour activation dans l’espace public) le cache fonctionne. On pourrai efffectivement peut être imaginer une mécanique pour calculer un fichier cache lié au choix du theme, en rentrant dans les rouages de spip

          Répondre à ce message

          • Sktheme et cache... 10 janvier 2007 09:15, par Gilles

            Bonjour,

            Dans mon cas, le cache est inactif, aussi avec le switcher désactivé... (Réglage : Activer le switcher de thème : Non Seulement pour les administrateurs : Oui)

            J’utilise le squelette Alternatives avec un thème de mon cru (mais le résultat est identique en utilisant le thème Original (Alternatives).

            Et en fait, je ne comprends pas bien la logique... Puisque de toute façon la page est recalculée, en quoi cela soulage le serveur, si ce n’est en espace disque occupée. Et l’intérêt de ce critère variant beaucoup selon les contextes... Dans mon cas, je n’ai pas de problème de place...

            Serait-il possible de connaître la modification de Fil afin éventuellement de la désactiver ? Et aussi, d’avoir un lien pour retrouver la discussion qui a présidée à ce choix ? N’y a-t-il aucune autre raison pour le justifier ?

            Gilles

            Répondre à ce message

            • Sktheme et cache... 10 janvier 2007 17:04, par skedus

              La modification concerne la variable "var_sktheme" passee en parametre, d’apres ce que j’ai compri les parametres var_xxxx ne provoque pas de re-calcul de la page dans le CACHE.

              Donc il suffit de chercher var_sktheme dans les fichiers du plugin et la remplacer par un autre nom, sans var_ devant pour que la page soit de nouveau mise en CACHE.

              Répondre à ce message

    Retour au début des forums

0 | 25



Suivre la vie du site RSS 2.0 | Plan du site | Espace privé | Charte et vie SPIP-Contrib | SPIP | L'autre.net