Retourner en haut de la page Aller au bas de la page
Logo de mon site
Logo de mon site

Yasser Arafat

Item 1 Description

Yasser Arafat

Hugo Chávez

Item 1 Description

Hugo Chávez

Mikhaïl Gorbatchev

Item 1 Description

Mikhail Sergueievitch Gorbatchev

L'Abbé Pierre

Item 1 Description

Abbe Pierre

Salvadore Allende

Item 1 Description

Salvadore Allende

Angela Yvonne Davis

Item 1 Description

Angela Yvonne Davis

Jean Moulin

Item 1 Description

Jean Moulin

Nelson Mandela

Item 1 Description

Nelson Mandela

Martin Luther King

Item 1 Description

Martin Luther King

Gamal Abdel Nasser

Item 1 Description

Gamal Abdel Nasser

Richard Stallman

Item 1 Description

Richard Stallman

Simone Veil

Item 1 Description

Simone Veil

Hand Shake

Item 1 Description

Hand Shake

Wangari Muta Maathai

Item 1 Description

Wangari Muta Maathai

Michel Colucci

Item 1 Description

Coluche

Mère Teresa

Item 1 Description

Mère Térésa

Charles de Gaulle

Item 1 Description

Charles de Gaulle

Che Guevara

Item 1 Description

Ernesto Rafael Guevara

Mohandas Gandhi

Item 1 Description

Mohandas Karamchand Gandhi

Lech Walesa

Item 1 Description

Lech Walesa

Linus Benedict Torvalds

Item 1 Description

Linus Benedict Torvalds

Sous-commandant Marcos

Item 1 Description

Sous commandant Insurge Marcos

Ahmed Shah Massoud

Item 1 Description

Ahmed Shah Massoud

Luxpopuli / eZ Publish / Extensions / eZ Publish : <i>ezoe</i> - Online Editor 5.0 / Online Editor OE 5.0 : configurer les couleurs





Right menu

OBLIGATOIRE

Un professeur témoigne

La brigade canine dans un collège du Gers.
Réaction d'une internaute Québécoise:
«quand on est rendu à accepter que (...) les autorité mettent leurs sales pattes dans les culottes de vos enfants (...) il est temps (...) de vous réveiller.»
OBLIGATOIRE

Les mensonges de R. Dati

La note de recadrage statistique du sociologue L. Mucchielli recadre également les mensonges de la propagande sécuritaire dont on nous rabat les oreilles depuis déjà trop longtemps et dont les mineurs de France sont à présents la cible.
Le rapport de L. Mucchielli
OBLIGATOIRE

L'aveu de Jean-Marc Sylvestre

«Le système financier s'effondre aujourd'hui comme un jeu de carte... parce que... il a été géré d'une part.... par les États-Unis sans règle... et il a été d'autre part géré... par une bande de voyous... qui se sont gouinfrés... au détriment des autres.»
VOIR LES VIDÉOS

OBLIGATOIRE

prev prev prev prev


Online Editor OE 5.0 : configurer les couleurs

Date de publication: le mercredi 20 mai 2009 à 09h03
Dernière modification: par Pascal BOYER le mercredi 20 mai 2009 à 14h46
« Article précédent: Online Editor OE 5.0 : ajouter des caractères spéciaux
» Article suivant: Online Editor OE 5.0 : fonctions rechercher et remplacer

Mettre de la couleur dans les textes

Par défaut, Online Editor , dans son ancienne version 4 comme dans sa nouvelle mouture 5.0, ne propose pas aux rédacteurs de contenus la possibilité de mettre du texte en couleur.

Ce choix, qui peut de prime abord sembler curieux, repose en fait sur un constat simple: plus vous offrez de possibilités à un rédacteur et plus vous augmentez les chances que la charte graphique du site soit détériorée par l'emploi excessif, entre autres, d'une multitude de polices de différentes tailles et couleurs. Pour cette raison, un rédacteur de contenu ne dispose, par défaut, que des options suivantes:

  • Gras
  • Itallique
  • Gras et Itallique
  • Barré
  • Souligné (qui ne fonctionne pas chez moi avec ma version 4 de Online Editor )
  • Titres 1 à 6
  • ainsi que deux trois autres possibilités.

Il arrive cependant que l'emploi de couleurs réponde à un besoin incontournable. Pour cela, Online Editor autorise, après configuration par les développeurs du site, la mise à disposition soit de quelques couleurs soit d'un sélecteur de couleurs traditionnel proposant 2^ 24 couleurs soit 16.777.216 de couleurs.

Une liste de quelques couleurs

Voilà l'objectif que je vous propose d'atteindre et dont le résultat final est illustré par les 3 captures d'écran ci-après:

Fig. 2 : L'affichage des couleurs dans le champ Bloc XML de l'interface d'édition des objets

Fig. 3 : L'affichage des couleurs sur le site public

I - Définir les nouvelles balises personnalisées

Afin de proposer une liste de couleurs aux rédacteurs de contenus, il faut commencer par définir de nouvelles balises personnalisées dans le fichier de surcharge content.ini.append.php du siteaccess d'administration.

22 [CustomTagSettings]
23 AvailableCustomTags[]
24 AvailableCustomTags[]=couleur_sansCouleur
25 AvailableCustomTags[]=couleur_bleu1     <== CHAQUE NOUVELLE BALISE EST AJOUTÉE AU TABLEAU «AvailableCustomTags[]»
26 AvailableCustomTags[]=couleur_bleu2
27 AvailableCustomTags[]=couleur_bleu3
28 AvailableCustomTags[]=couleur_bleu4
29 AvailableCustomTags[]=couleur_bleu5
30 AvailableCustomTags[]=couleur_jaune1
31 AvailableCustomTags[]=couleur_jaune2
32 AvailableCustomTags[]=couleur_orange1
33 AvailableCustomTags[]=couleur_orange2
34 AvailableCustomTags[]=couleur_orange3
35 AvailableCustomTags[]=couleur_rose1
36 AvailableCustomTags[]=couleur_rose2
37 AvailableCustomTags[]=couleur_rose3
38 IsInline[couleur_sansCouleur]=true
39 IsInline[couleur_bleu1]=true
40 IsInline[couleur_bleu2]=true
41 IsInline[couleur_bleu3]=true   <== CHAQUE NOUVELLE BALISE EST AJOUTÉE AU TABLEAU «IsInline[]»
42 IsInline[couleur_bleu4]=true
43 IsInline[couleur_bleu5]=true
44 IsInline[couleur_jaune1]=true
45 IsInline[couleur_jaune2]=true
46 IsInline[couleur_orange1]=true
47 IsInline[couleur_orange2]=true
48 IsInline[couleur_orange3]=true
49 IsInline[couleur_rose1]=true
50 IsInline[couleur_rose2]=true
51 IsInline[couleur_rose3]=true


56 [couleur_bleu1]          <== POUR CHAQUE NOUVELLE BALISE ON CRÉE UNE SECTION À SON NOM
57 CustomAttributes[]=bleu1  <== UN ATTRIBUT PERSONNALISÉ ASSOCIÉ À LA BALISE PERSONNALISÉE
58 CustomAttributesDefaults[bleu1]=#000079  <== VALEUR HEXADÉCIMALE DE LA COULEUR ASSOCIÉE À L'ATTRIBUT PERSONNALISÉ DE LA NOUVELLE BALISE
59 [couleur_bleu2]
60 CustomAttributes[]=bleu2
61 CustomAttributesDefaults[bleu2]=#334499
62 [couleur_bleu3]
63 CustomAttributes[]=bleu3
64 CustomAttributesDefaults[bleu3]=#4c4c7e
65 [couleur_bleu4]
66 CustomAttributes[]=bleu4
67 CustomAttributesDefaults[bleu4]=#b8bfb8
68 [couleur_bleu5]
69 CustomAttributes[]=bleu5
70 CustomAttributesDefaults[bleu5]=#007bff
71 [couleur_jaune1]
72 CustomAttributes[]=jaune1
73 CustomAttributesDefaults[jaune1]=#ffff00
74 [couleur_jaune2]
75 CustomAttributes[]=jaune2
76 CustomAttributesDefaults[jaune2]=#f5ff00
77 [couleur_orange1]
78 CustomAttributes[]=orange1
79 CustomAttributesDefaults[orange1]=#ff7b00
80 [couleur_orange2]
81 CustomAttributes[]=orange2
82 CustomAttributesDefaults[orange2]=#feaa33
83 [couleur_orange3]
84 CustomAttributes[]=orange3
85 CustomAttributesDefaults[orange3]=#ffc900
86 [couleur_rose1]
87 CustomAttributes[]=rose1
88 CustomAttributesDefaults[rose1]=#ed33fe
89 [couleur_rose2]
90 CustomAttributes[]=rose2
91 CustomAttributesDefaults[rose2]=#ff00a0
92 [couleur_rose3]
93 CustomAttributes[]=rose3
94 CustomAttributesDefaults[rose3]=#ff64ff

Configuration du fichier de surcharge content.ini.append.php du siteaccess d'administration

Point importants:

  • Lignes 23 à 94 : elles sont toutes situées sous la même section [CustomTagSettings]
  • Ligne 24 : la balise couleur_sansCouleur servira à supprimer une couleur précédemment affectée à une chaîne de caractères. Je n'ai en effet trouvé aucun moyen direct et simple de désactiver l'application d'une balise à une chaîne de caractères. Les deux solutions possibles: soit supprimer le texte coloré puis à le réécrire (ce qui n'est vraiment pas pratique s'il s'agit d'un paragraphe complet), soit désactiver l'éditeur puis effacer le code autour du texte coloré (impossible de demander à un rédacteur de recourir à ce genre de méthode). La balise couleur_sansCouleur est donc une alternative à ces deux méthodes.
  • La balise couleur_sansCouleur est absente des lignes 56 à 94.
  • Lignes 38 à 51 : indiquent au système que l'application de ces balises personnalisées devra se faire en ligne, c'est à dire qu'elles ne devront pas être directement encadrées par des balises <p> et </p> qui provoqueraient alors un passage à la ligne avant et après le texte mis en couleur.
11 [CustomTagSettings]
12 IsInline[couleur_sansCouleur]=true
13 IsInline[couleur_bleu1]=true
14 IsInline[couleur_bleu2]=true
15 IsInline[couleur_bleu3]=true
16 IsInline[couleur_bleu4]=true
17 IsInline[couleur_bleu5]=true
18 IsInline[couleur_jaune1]=true
19 IsInline[couleur_jaune2]=true
20 IsInline[couleur_orange1]=true
21 IsInline[couleur_orange2]=true
22 IsInline[couleur_orange3]=true
23 IsInline[couleur_rose1]=true
24 IsInline[couleur_rose2]=true
25 IsInline[couleur_rose3]=true

Configuration du fichier de surcharge content.ini.append.php du siteaccess public

  • La liste déroulante de la figure 1 est réalisée par l'appel du template extension/ezoe/design/standard/templates/ezoe/ customattributes.tpl
  • La valeur sélectionnée dans le champ Balise fait appel au template extension/ezoe/design/standard/templates/ezoe/customattributes/ select.tpl
  • Le nom du champ Bleu1 ainsi que la valeur inscrite dans le champ (voir figure 5) fait appel au template extension/ezoe/design/standard/templates/ezoe/customattributes/ text.tpl

Création des templates de vue

Chaque nouvelle balise utilise un template de vue dont le nom est celui de la balise.

La liste suivante de templates doit donc être créée dans design/plain_site/templates/content/datatype/view/ezxmltags/ où plain_site correspond au design du siteaccess public:

ls -la design/plain_site/templates/content/datatype/view/ezxmltags/

-rw-r--r-- 1 root     root       11 mai 19 20:48 couleur_sansCouleur.tpl
-rw-r--r-- 1 root     root       90 mai 19 20:57 couleur_bleu1.tpl
-rw-r--r-- 1 root     root       78 mai 19 20:50 couleur_bleu2.tpl
-rw-r--r-- 1 root     root       78 mai 19 20:50 couleur_bleu3.tpl
-rw-r--r-- 1 root     root       78 mai 19 20:50 couleur_bleu4.tpl
-rw-r--r-- 1 root     root       78 mai 19 20:50 couleur_bleu5.tpl
-rw-r--r-- 1 root     root       78 mai 19 20:50 couleur_jaune1.tpl
-rw-r--r-- 1 root     root       78 mai 19 20:50 couleur_jaune2.tpl
-rw-r--r-- 1 root     root       78 mai 19 21:03 couleur_orange1.tpl
-rw-r--r-- 1 root     root       78 mai 19 20:50 couleur_orange2.tpl
-rw-r--r-- 1 root     root       78 mai 19 20:50 couleur_orange3.tpl
-rw-r--r-- 1 root     root       78 mai 19 20:50 couleur_rose1.tpl
-rw-r--r-- 1 root     root       78 mai 19 20:50 couleur_rose2.tpl
-rw-r--r-- 1 root     root       78 mai 19 20:50 couleur_rose3.tpl

A l'exception du template couleur_sansCouleur.tpl , chacun de ces templates contient une ligne semblable à celle-ci:

<span {if is_set( $bleu1 )}style="color: {$bleu1}"{/if}>{$content}</span>

Dans la ligne ci-dessus on voit que l'attribut personnalisé (voir ligne 57, 60, 63 etc...) sert à créer un style color appliqué à la balise <span> dont la valeur est celle associée à l'attribut personnalisé (voir ligne 58, 61, 64 etc...).

Quant au template couleur_sansCouleur.tpl , il contient simplement:

{$content}

Utilisation des nouvelles balises

Après avoir vidé tous les caches il devient possible d'utiliser les nouvelles balises à partir de l'interface de Online Editor .

Pour mettre un caractère, un mot, une phrase ou un paragraphe en couleur, on commence par le surligner puis on clique sur le bouton « Insérer une balise personnalisée »:

Fig. 4 : Les 2 premières étapes pour colorer une chaîne de caractères

Le bouton « Insérer une balise personnalisée » engendre l'affichage de la bote de dialogue suivante:

Fig. 5 : La boite de dialogue de sélection d'une couleur

...dans laquelle il est possible de sélectionner l'une des nouvelles couleurs que l'on vient de créer:

Fig. 6 : Le menu déroulant de sélection d'une couleur

Après avoir choisi une couleur puis valider son choix avec le bouton OK , l'affichage dans le champ de type Block XML du Online Editor ressemble à ceci:

Si l'on clique sur le bouton Envoyer pour publication puis que l'on rafraîchit la page du site public, on obtient alors:

Fig. 8 : Affichage par défaut d'un texte coloré sur le site public

II - Configurer l'affichage dans le champ de type Bloc XML de Online Editor

Si l'affichage des couleurs sur le site public répond en tout point à nos attentes, celui de l'interface d'édition dans le champ Bloc XML de Online Editor est perfectible en deux points:

  • Le rédacteur ne voit pas la couleur liée à la balise qu'il sélectionne dans le menu déroulant (voir figure 6),
  • Le rédacteur ne voit pas non plus la couleur affectée à une chaîne de caractères dans le champ Bloc XML de Online Editor (voir figure 7).

Nous allons donc remédier à ces deux carences.

Si l'on observe le code source du texte de la figure 7, on constate que le texte surligné en bleu est lié au code HTML suivant:

<span class="mceItemCustomTag couleur_rose2" customattributes="rose2|#ff00a0" type="custom">Papa Kourand participe au 12ème Festival de la Jeunesse à Moscou</span>

La simple règle CSS suivante:

1 span.couleur_rose2 {
2     background-color: transparent;
3     color: #ff00a0;
4 }

placée dans une feuille de style située obligatoirement dans un sous-répertoire de extension/ezoe/design/standard/stylesheets/skins/xxx/ permettra de modifier ainsi l'affichage dans Online Editor :

Définir la feuille de style CSS

Pour indiquer à Online Editor quelle feuille de styles CSS utiliser, vous devez renseigner le tableau EditorCSSFileList[] de la section [StylesheetSettings] du fichier de surcharge extension/ezoe/settings/ design.ini.append.php de l'extension ezoe :

[StylesheetSettings]
EditorCSSFileList[]=skins/xxx/onlineEditor.css

où xxx sera remplacer le nom d'un sous-répertoire.

Pensez à vider les caches.

Pour l'ensemble des couleurs définies dans notre exemple, la feuille de styles onlineEditor.css contiendra:

1 span.couleur_sansCouleur {         <== RÈGLE POUR SUPPRIMER LA COULEUR !!!
2     background-color: transparent;
3 }
4 span.couleur_bleu1 {
5     background-color: transparent;
6     color: #000079;
7 }
8 span.couleur_bleu2 {
9     background-color: transparent;
10     color: #334499;
11 }
12 span.couleur_bleu3 {
13     background-color: transparent;
14     color: #4c4c7e;
15 }
16 span.couleur_bleu4 {
17     background-color: transparent;
18     color: #b8bfb8;
19 }
20 span.couleur_bleu5 {
21     background-color: transparent;
22     color: #007bff;
23 }
24 span.couleur_jaune1 {
25     background-color: transparent;
26     color: #ffff00;
27 }
28 span.couleur_jaune2 {
29     background-color: transparent;
30     color: #f5ff00;
31 }
32 span.couleur_orange1 {
33     background-color: transparent;
34     color: #ff7b00;
35 }
36 span.couleur_orange2 {
37     background-color: transparent;
38     color: #feaa33;
39 }
40 span.couleur_orange3 {
41     background-color: transparent;
42     color: #ffc900;
43 }
44 span.couleur_rose1 {
45     background-color: transparent;
46     color: #ed33fe;
47 }
48 span.couleur_rose2 {
49     background-color: transparent;
50     color: #ff00a0;
51 }
52 span.couleur_rose3 {
53     background-color: transparent;
54     color: #ff64ff;
55 }

III - Configurer l'affichage des boites de dialogue de Online Editor

Nous allons à présent configurer l'affichage des couleurs dans le menu déroulant (voir figure 1).

Voici les lignes 4 et 8 du fichier extension/ezoe/design/standard/templates/ezoe/customattributes/ select.tpl :

4  <option class="{$custom_value}" value="{if $custom_value|ne('0')}{$custom_value|wash}{/if}"{if $custom_value|eq( $custom_attribute_default )} selected="selected"{/if}>{$custom_name|wash}</option>
 
8   <option class="{$custom_value}" value="{if $custom_value|ne('0')}{$custom_value|wash}{/if}"{if $custom_value|eq( $custom_attribute_default )} selected="selected"{/if}>{$custom_name|wash}</option>

dans lesquelles j'ai ajouté:

class="{$custom_value}"
  • $custom_value vaut le nom du paramètre personnalisé défini par les lignes 57, 60, 63 etc...

Une feuille de styles CSS placée dans extension/ezoe/design/standard/stylesheets/skins/xxx/ contenant cette règle:

option.couleur_rose1 {
   color: #ed33fe;
}

suffira à colorer l'entrée couleur_rose1 du menu déroulant de la figure 6

Définir la feuille de style CSS

Pour indiquer à Online Editor quelle feuille de styles CSS utiliser pour ses boites de dialogue, vous devez renseigner le tableau EditorDialogCSSFileList[] de la section [StylesheetSettings] du fichier de surcharge extension/ezoe/settings/ design.ini.append.php de l'extension ezoe :

[StylesheetSettings]
EditorCSSFileList[]=skins/xxx/onlineEditor.css
EditorDialogCSSFileList[]=skins/xxx/onlineEditorDialog.css

où xxx sera remplacer le nom d'un sous-répertoire.

Pour l'ensemble des couleurs définies dans notre exemple, la feuille de styles onlineEditorDialog.css contiendra:

1 option.couleur_bleu1 {
2     color: #000079;
3 }
4 option.couleur_bleu2 {
5     color: #334499;
6 }
7 option.couleur_bleu3 {
8     color: #4c4c7e;
9 }
10 option.couleur_bleu4 {
11     color: #b8bfb8;
12 }
13 option.couleur_bleu5 {
14     color: #007bff;
15 }
16 option.couleur_jaune1 {
17     color: #ffff00;
18 }
19 option.couleur_jaune2 {
20     color: #f5ff00;
21 }
22 option.couleur_orange1 {
23     color: #ff7b00;
24 }
25 option.couleur_orange2 {
26     color: #feaa33;
27 }
28 option.couleur_orange3 {
29     color: #ffc900;
30 }
31 option.couleur_rose1 {
32     color: #ed33fe;
33 }
34 option.couleur_rose2 {
35     color: #ff00a0;
36 }
37 option.couleur_rose3 {
38     color: #ff64ff;
39 }

Après avoir vidé tous les caches, le résultat obtenu est celui illustré par la figure 2.

IV - Aller un peu plus loin

Il est même possible d'afficher en couleur le contenu du champ Bleu1 de la figure 5.

Pour cela, dans l'unique ligne du template extension/ezoe/design/standard/templates/ezoe/customattributes/ text.tpl :

<input type="text" name="{$custom_attribute}" id="{$custom_attribute_id}_source" value="{$custom_attribute_default|wash}"{if $custom_attribute_disabled} disabled="disabled"{/if} class="{$custom_attribute_classes|implode(' ')}" title="{$custom_attribute_title|wash}" />

on remplace la chaîne:

class="{$custom_attribute_classes|implode(' ')}"

par:

style="color:{$custom_attribute_default|wash};"

Et on vide les caches pour obtenir ceci:

Lien vers l'article précédent
Online Editor OE 5.0 : ajouter des caractères spéciaux
Online Editor OE 5.0 : fonctions rechercher et remplacer
Lien vers l'article suivant

Commentaires

Modification des classes pour l'insertion d'objets

Bonjour,

Merci pour ce superbe article très détaillé.

Je cherche une ressource dans le même genre, mais qui détaille la personnalisation des classes utilisées (embed, inline, embed-inline...) lors de l'insertion d'objet.... pour créer par exemple un nouveau type d'insertion d'un dossier "news" pour ne prendre que la dernière news et l'afficher d'un façon spéciale (un "à la une par exemple"), sans modifier ce qui existe...
Est ce que vous auriez un lien, quelques indications...?
Merci!