Couleur d’Objet

Le plugin Couleur d’Objet permet d’associer une couleur à n’importe quel objet éditorial de SPIP.

Utilisation

Une fois activé comme les autres plugins, la page de configuration propose de choisir sur quel objet vous désirez activer le choix de couleur.

Lorsque ce choix est fait, la page d’un objet sélectionné offre un formulaire pour choisir une couleur (un code hexadécimal) ou la supprimer.
La valeur enregistrée peut être utilisée ensuite dans les squelettes ou une feuille de style dynamique avec la balise #COULEUR au sein d’une boucle.

Exemple dans un squelettes :

<BOUCLE_mot(MOTS){id_mot}>
<h1[ style="background:(#COULEUR);"]>
#TITRE
</h1>
</BOUCLE_mot>


Exemple dans une feuille de style dynamique :
1 - Premièrement déclarer dans la balise head de la page mot :

  1. <link rel="stylesheet" href="/spip.php?page=couleurs" type="text/css" media="screen, projection" />

2 - Deuxièmement modifier le squelette de la page mot :

  <div class="cartouche cartouche#ID_MOT">
      <h1 class="#EDIT{titre}">[(#LOGO_MOT|image_reduire)]#TITRE</h1>
  </div>


3 - Troisièmement créer le fichier squelettes/couleurs.css.html contenant :

[(#REM)<style>/*
	ATTENTION: il faut absolument le charset sinon Firefox croit que
	c'est du text/html !
        Cache à régler selon les cas.
*/]
#CACHE{3600*100,cache-client}
#HTTP_HEADER{Content-Type: text/css; charset=iso-8859-15}
 
 
<BOUCLE_mot(MOTS){tout}>
[.cartouche#ID_MOT h1 { background-color:(#COULEUR); }]
</BOUCLE_mot>

Usage des filtres de couleurs

Il est possible d’utiliser des filtres de couleurs sur la balise #COULEUR, mais il faut bien replacer le ’#’ pour retrouver le code hexadécimal correspondant :

  1. [color:#(#COULEUR|couleur_extreme|couleur_inverser);]

Autres paramètres

Depuis la version 0.4.0 et conjointement avec l’installation du plugin Déclarer le parent, on peut écrire :

  • #COULEUR{parent} pour prendre la couleur du parent de l’objet
  • #COULEUR{parent,recursif} pour prendre la couleur du parent de l’objet, mais récursivement (on remonte les parents juqu’à trouver une couleur)

Ce qui permet par exemple de définir une couleur à un secteur entier, et de l’utiliser dans tous les contenus enfants.

Le fonctionnement a été testé avec les objets éditoriaux standards de SPIP, mais ne fonctionne pas encore dans toutes les situations, notamment avec les évènements.

Nb : le nom des paramètres n’importe pas, il faut juste qu’ils soient présents (#COULEUR{oui,oui} fonctionne aussi par exemple)

Bloquer le changement de couleur

La page de configuration permet de bloquer le choix de couleur pour ne plus les modifier. Il faudra revenir sur la page de configuration pour autoriser à nouveau le changement de couleur.

Palette

Si vous utilisez un navigateur récent il vous proposera automatiquement de définir vos couleurs sur une palette chromatique. Si ce n’est pas le cas, vous pourriez installer le plugin « Palette » pour obtenir un résultat similaire.

Dernière modification de cette page le 16 janvier 2019

Discussion

9 discussions

  • 3

    En 3.2
    Pour tester j’ai mis la couleur en background directement sur le h1 comme proposé plus haut. Cela fonctionne.
    Puis, j’ai suivi minutieusement la marche à suivre donnée plus haut pour un css dynamique.
    Cela ne fonctionne pas.
    J’ai essayé avec    [<link rel="stylesheet" href="(#CSS{css/couleurs.css})" type="text/css" />]
    et
       [<link rel="stylesheet" href="(#CSS{css/couleurs.css.html})" type="text/css" />]
    rien n’y fait

    • En effet, la balise #CSS doit fonctionner avec un autre plugin comme lesscss ou scssphp.
      Donc je reformule correctement dans le texte : -> #feuilledestyle
      Désolé ...

    • J’ai essayé

      et cela ne fonctionne pas. Avec web developper, je fais afficher les feuilles de style et je ne vois pas couleurs.css.html.
      J’ai mis ce dernier dans squelettes/css

    • C’est qu’il faut le mettre dans le dossier squelettes/ tout simplement...

    Répondre à ce message

  • 4

    Est-il possible de changer la couleur de l’objet par un #FORMULAIRE directement en espace public ?

    Répondre à ce message

  • 1

    Petite remarque :

    Sur Windows (mais peut-êtrre est-ce le cas sur d’autres systèmes ?), c’est la boite de dialogue de l’OS qui s’ouvre, et celle-ci ne permet pas d’insérer un code hexadécimal.

    Voila pourquoi je préfère créer un champ extra nommé couleur associé au plugin palette plutôt que d’utiliser ce plugin.

    Si le formulaire permettait d’entrer directement un code hexa, il gagnerait en ergonomie.

    Répondre à ce message

  • 5

    Pourquoi ce plugin est-il rangé dans la catégorie maintenance ?

    Répondre à ce message

  • 2

    Il est impossible de faire ?

    #INFO_COULEUR{rubrique,1}

    • #INFO_XXX fonctionne pour les champs sur la table principale de l’objet. Là c’est une table auxilaire. Donc plutôt

      <BOUCLE_couleur_objet(spip_couleur_objet_liens){objet=rubrique}{id_objet=1}>
      #COULEUR_OBJET
      </BOUCLE_couleur_objet>

      Dans la version 0.3.0 j’ai ajouté la possibilité de faire

      #INCLURE{fond=inc-couleur-objet,objet=rubrique,id_objet=1}
    • Super ! Merci pour le suivi :)

    Répondre à ce message

  • Pourrait-on avoir cet outil dans les documents également ? :)

    Répondre à ce message

  • 1

    Bonjour,
    Je découvre ce plugin, j’ai le dernier SPIP 3.1.1 [22913] j’ai créé un site dont la page est déclarée en en css body background :#ba6e6e ; et comme mon site est une généalogie j’ai donc configuré le plugin pour colorier seulement les articles, j’ai donc colorié les femmes en rose et les hommes en bleu, et bien rien ne se passe.

    Est-ce mon background qui empêche quelque chose ?

    • Bonjour,
      le plugin ne suppose pas ce que fera le squelette avec cette couleur : il faut donc utiliser la couleur dans une feuille de style ou bien directement dans le squelette de l’article, avec une classe comme dans les exemples ci-dessus...

    Répondre à ce message

  • 1

    Bonjour,

    Oui la couleur a été bien choisie dans l’espace privé.
    version Spip 3.1.1

    • Je n’ai rien constaté d’anormal de mon côté sur le dernier SPIP 3.1.1...
      Est-ce que le problème pourrait être une autre règle CSS ?
      Est-ce que le code renvoi bien le code hexadécimal de la couleur ?

    Répondre à ce message

  • 1

    Bonjour,

    Ce plugin est une bonnne alternative plus complète au plugin « couleur rubrique » mais il ne semble pas fonctionner avec spip 3.1.

    Testé dans un squelette avec le code donné plus haut.

    <BOUCLE_mot(MOTS){id_mot}>
    <h1[ style="background:(#COULEUR);"]>
    #TITRE
    </h1>
    </BOUCLE_mot>
    • Bonjour,
      le plugin est normalement fonctionnel avec SPIP 3.1. Avez-vous bien défini la couleur de ce mot dans l’espace d’administration de SPIP ? (-> sur la page du mot en question ?)

    Répondre à ce message

Ajouter un commentaire

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

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