Plugin : Sktheme

Gestion de theme pour spip 1.9.2

-  Nom du Plugin : sktheme
-  Version : 0.6 (version simple 1.0 http://skedus.free.fr/spip/spip.php...)
-  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


ATTENTION :

Afin de simplifier l’usage une nouvelle version sktheme 1.0 est disponible
sur : http://skedus.free.fr/spip/spip.php...

Cette version ne modifie que l’habillage.css mais donne un peu de couleurs à votre distribution de base, bref de quoi commencer rapidement avec SPIP et d’en vouloir toujours plus :-)

Notes

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

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

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

Discussion

17 discussions

  • ATTENTION :

    Afin de simplifier l’usage une nouvelle version sktheme 1.0 est disponible
    sur : http://skedus.free.fr/spip/spip.php...

    Cette version ne modifie que l’habillage.css mais donne un peu de couleurs à votre distribution de base, bref de quoi commencer rapidement avec SPIP et d’en vouloir toujours plus :-)

    Répondre à ce message

  • 1

     :-( j’ai tout essayé ça plante,pas le temps de perdre mon temps ....

    • Moi aussi ça plantait car il ne trouvait pas les fonctions « debut_cadre_gris_clair » et « debut_cadre_gris_clair ».
      J’ai corrigé le problème en remplaçant les mots « _cadre_gris_clair » par « _cadre_couleur » dans le fichier « plugins/sktheme/exec/sktheme_public_choice.php ».
      C’est peut-être des fonctions qui ont disparues dans la dernière version (SPIP 1.9.2e).

    Répondre à ce message

  • Salut,

    Je débute.
    Je suis en train de customiser le thème « en-rondeur ». Je suis arrivé à modifier les couleur des blocs, mais j’aimerai :
    -   soit mettre mon logo en bandeau
    -   soit faire simplement apparaitre mon logo sur le bandeau.
    J’ai trouvé comment remplacer le fond du bandeau par défaut, mais ça ne marche pas, j’ai juste la couleur de fond de mon logo qui s’affiche. Est-ce que ça vient d’un problème de taille ?

    merci

    Répondre à ce message

  • Salut,

    y’a t-il une compatibilté ou incompatibilité avec SPIP 2.0.0 ?

    Merci

    Répondre à ce message

  • 6

    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 !

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

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

    • Le plugin est maintenant distribué sur spip-zone pour les 2 versions de SPIP : 1.9.1 et 1.9.2
      -  sktheme.zip

      La version 1.9.2 corrige le bogue signalé plus haut et affiche les menus d’en-tête du plugin signalé par Perline.

      Les 2 versions sont aussi distribuées dans le squelette ALTERNATIVES (1.9.1.2).

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

    • Personnellement, j’ai trouvé un hebergeur sympa qui bien sur permet à spip de fonctionner parfaitement.

      Le seul truc, c’est qu’il faut faire une demande préalable (pour moi, validée en deux jours).

      L’hebergeur c’est : http://www.exen.fr

    • J’ai rencontré des difficultés (un bug) pour utiliser la version 192 (avec ce dossier zip). Bug qui semble avoir été résolu par François Le Ralle, quand il a voulu rendre compatibles Sarka-SPIP et Sktheme.

      Ce qui m’a permis de la faire fonctionner avec Sarka-SPIP 192. Merci à lui !

      Merci aussi d’avoir fait la modif sur la 1.9.1, que je n’ai pas eu de mal à faire fonctionner immédiatement.

    Répondre à ce message

  • 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

  • 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

  • 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

  • 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

  • 1

    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 ?

    • 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

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

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

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom