Bonjour,
voici une petite contribution que j’ai utilisé pour la création d’un site.
Elle est assez spécifique comme vous pourrez le voir. J’en fais néanmoins profiter la communauté pour ceux qui sont interressés, particulièrement les CSSistes.
Le but de ce snippet est de permettre une modification de style d’une partie d’une chaîne de caractère qui n’est pas déclarée par défaut en tant que richtText (exemple, [*pagetitle*]). L’avantage de ce snippet reste que la modification de l’aspect est totalement transparent pour l’éditeur en espace admin.
Vous n’avez pas compris cette explication ?
C’est normal, voici un exemple concret :
Je souhaite créer un template permettant de générer ceci :
<h2><span class="mise_en_majuscule">My beautifull</span> page title</h2>
Le texte "My beautifull page title" étant inclus dans [*pagetitle*], et ma feuille de style définit la classe mise_en_majuscule bien entendu...
Je souhaite donc avoir deux mots en majuscule puis le reste tel que défini par la feuille de style, et ce,
pour tous les [*pagetitle*] des documents relatifs à mon template.
On pourrait bien évidemment insérer dans le champs texte "Titre de page" la phrase suivante [tt]<span class=’mise_en_majuscule’>My beautifull</span> page title[/tt] mais cela reste fastidieux à gérer, surtout quand certains rédacteurs ne comprennent pas le langage HTML et ne souhaitent pas en savoir plus (et c’est leur droit le plus strict, on n’est pas payé pour rien tout de même

). D’autant que pour les modifications éventuelles lors d’un changement de style, ce n’est pas gagné !
Aussi, l’idée de mon snippet est de parser une chaîne de caractères en la scindant en deux (et uniquement deux pour l’instant) parties distinctes : une partie balisée, et une non balisée. Ainsi, on peut appliquer à ce titre de page deux styles différents pour deux parties de celui-ci.
Comment ca marche ?
Dans mon template : je déclare uniquement cette phrase
[!StyleIt? &SI_string=`[*pagetitle*]` &SI_tag=`span` &SI_words=2 &SI_class=`mise_en_majuscule` !]
et le titre de ma page sera donc en espace admin "My beautifull page title".
Le résultat va donc me générer
<span class='mise_en_majuscule'>My beautifull</span> page title
et à l’écran :
MY BEAUTIFULL title
Variables utilisables
/*
SI_string [ string ]
Description : chaîne à scinder
Default value : ’’
*/
/*
SI_class [ string ]
Description : nom de la classe
Default value : ’’
*/
/*
SI_words [ int ]
Description : nombre de mots à prendre en compte (peut être négatif

)
Default value : 0
*/
/*
SI_letters [ int ]
Description : nombre de lettres à prendre en compte (peut être négatif

)
Default value : 0
*/
/*
SI_tag [ string ]
Description : nom du tag HTML
Default value : span
*/
/*
SI_includeNextSpace [ 0 | 1 ]
Description : doit on inclure l’espace (si il existe) entre le dernier mot et la balise fermante.
Default value : 0
*/
Exemples d’application (tirés de la documentation du snippet):
***** Example 1 ****
Call : [!StyleIt? &SI_string=`[*pagetitle*]` &SI_words=3 !]
Displays : <span>My fabulous page</span> title
***** Example 2 ****
Call : [!StyleIt? &SI_string=`[*pagetitle*]` &SI_words=2 &SI_class=`MyFabulousClass` !]
Displays : <span class="MyFabulousClass">My fabulous</span> page title
***** Example 3 ****
Call : [!StyleIt? &SI_string=`[*pagetitle*]` &SI_tag=`strong` &SI_words=3 !]
Displays : <strong>My fabulous page</strong> title
***** Example 4 ****
Call : [!StyleIt? &SI_string=`[*pagetitle*]` &SI_tag=`strong` &SI_letters=5 !]
Displays : <strong>My fa</strong>bulous page title
***** Example 5 ****
[!StyleIt? &SI_string=`[*pagetitle*]` &SI_tag=`strong` &SI_words=3 &SI_includeNextSpace=`1` !]
Displays : <strong>My fabulous page </strong>title
***** Example 6 ****
Call : [!StyleIt? &SI_string=`[*pagetitle*]` &SI_tag=`strong` &SI_words=-2 !]
Displays : My fabulous <strong>page title</strong>
***** Example 7 ****
Call : [!StyleIt? &SI_string=`[*pagetitle*]` &SI_tag=`strong` &SI_letters=-8 !]
Displays : My fabulous pa<strong>ge title</strong>
***** Example 8 ****
Call : [!StyleIt? &SI_string=`[*pagetitle*]` &SI_tag=`strong` &SI_words=-2 !]
Displays : My fabulous <strong>page title</strong>
*/
Pour l’installation, c’est du déjà vu pour la plupart d’entre vous. Tout est décrit dans le fichier zip qui comprend un readme, le répertoire StyleIt à uploader dans /assets/snippets/ et le fichier snippet.php à copier/coller.
@+