appeler une classe dans un article

Bonjour,

N’étant pas la future webmaster du site sur lequel je travaille actuellement, j’aurais souhaiter trouvé un moyen simple de leur permettre de donner du style à certains paragraphes.

Par exemple, au beau milieu d’un de leur texte, ils souhaitent mettre un encadré particulier qui affichera un exemple de tarif.
J’aurais donc souhaitez qu’ils puissent associer une classe à un paragraphe sans insérer de l’html dans le corps de l’article … mais je ne vois pas comment faire …

Plus exactement, je pense bien aux modèles mais les modèles demandent à ce que je créé une brève ou un article juste pour cet exemple qui, pourtant, fait partie intégrante de l’article … je me vois mal leur expliqué que j’ai découpé l’article en plusieurs morceaux puis utilisé les modèles pour recomposer l’article …

J’espère être clair …
En tout cas, si vous voyez une façon simple d’associer une classe à un paragraphe j’en serais ravie !

Merci
Emmanuelle

Bonjour,

je réponds indirectement à ta question : tu peux également utiliser le
raccourcis spip "Encadrer le texte" disponible avec la barre typo v2.

Ensuite tu pourras appliquer un style particulier sur ce texte encadré...

emmanuelle roux a écrit :

Bonjour,

N'étant pas la future webmaster du site sur lequel je travaille
actuellement, j'aurais souhaiter trouvé un moyen simple de leur
permettre de donner du style à certains paragraphes.

Par exemple, au beau milieu d'un de leur texte, ils souhaitent mettre
un encadré particulier qui affichera un exemple de tarif.
J'aurais donc souhaitez qu'ils puissent associer une classe à un
paragraphe sans insérer de l'html dans le corps de l'article .....
mais je ne vois pas comment faire .....

Plus exactement, je pense bien aux modèles mais les modèles demandent
à ce que je créé une brève ou un article juste pour cet exemple qui,
pourtant, fait partie intégrante de l'article .... je me vois mal leur
expliqué que j'ai découpé l'article en plusieurs morceaux puis utilisé
les modèles pour recomposer l'article ......

J'espère être clair .....
En tout cas, si vous voyez une façon simple d'associer une classe à un
paragraphe j'en serais ravie !

Merci
Emmanuelle

------------------------------------------------------------------------

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

irc://irc.freenode.net/spip ou http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip
  

Bonjour,

J'ai bien des débuts de solution mais ... C'est gore ...
Il doit être possible de faire un bout de plugin ( voir même de déclarer dans mes_fonctions.php ) une balise "maison".
Si cette balise prend en argument le nom de la classe, elle peut remplacer son code par du code comme <div class="classe_en_parametre">.
Il faut bien ensuite penser à appeler la balise fermant la classe par contre, sinon, cela peut casser la structure du site ( l'emploi d'une span pourrait s'avérer moins risqué ) ... :frowning:

Sinon, autre solution encore plus barbare, faire un filtre maison qui lorsqu'il arrive sur un texte précis: (%%mon_style%% par exemple) va rechercher la première occurence de la balise <p> Située après, et la remplacer par <div class="classe_en_parametre"><p>. Il faudra aussi trouver le </p> correspondant, ce qui peut s'avérer farceur en cas de paragraphes imbriqués.

Bref, c'est pas simple, mais je ne vois pas mieux ...

si t'utilises déjà le couteau suisse, il y a une lame "décorations" qui permet ca.

Pat

emmanuelle roux a écrit :

Bonjour,

N'étant pas la future webmaster du site sur lequel je travaille
actuellement, j'aurais souhaiter trouvé un moyen simple de leur permettre de
donner du style à certains paragraphes.

Par exemple, au beau milieu d'un de leur texte, ils souhaitent mettre un
encadré particulier qui affichera un exemple de tarif.
J'aurais donc souhaitez qu'ils puissent associer une classe à un paragraphe
sans insérer de l'html dans le corps de l'article ..... mais je ne vois pas
comment faire .....

Plus exactement, je pense bien aux modèles mais les modèles demandent à ce
que je créé une brève ou un article juste pour cet exemple qui, pourtant,
fait partie intégrante de l'article .... je me vois mal leur expliqué que
j'ai découpé l'article en plusieurs morceaux puis utilisé les modèles pour
recomposer l'article ......

J'espère être clair .....
En tout cas, si vous voyez une façon simple d'associer une classe à un
paragraphe j'en serais ravie !

Merci
Emmanuelle

Vincent a écrit :

Bref, c'est pas simple, mais je ne vois pas mieux ...

il est possible d'intégrer *directement* dans le texte (en mode édition) une balise div :
   mon texte {mon texte} mon texte...
   <div class="bla"> suite {{de mon texte}} ....</div>
   re-suite de mon texte de mon texte mon texte ...

la balise sera automatiquement détectée et traitée comme telle.
inutile de préciser <html></html>

Oui, c'est sur, mais le but est d'éviter justement d'en arriver la pour les utilisateurs finaux ( si j'ai bien compris ):
"N'étant pas la future webmaster du site sur lequel je travaille actuellement, j'aurais souhaiter trouvé un moyen simple de leur permettre de donner du style à certains paragraphes."

Vincent a écrit :

Oui, c'est sur, mais le but est d'éviter justement d'en arriver la pour les utilisateurs finaux ( si j'ai bien compris ):

il va bien falloir qu'ils écrivent quelque chose pour dire :
   "depuis ici"
   "jusque là"

donc :
   "<div>"
   "</div>"

avec une css :
.texte entry-content #DIV {
   ...
}

Le 24 février 2009 14:28, emmanuelle roux a écrit :

Bonjour,

N'étant pas la future webmaster du site sur lequel je travaille
actuellement, j'aurais souhaiter trouvé un moyen simple de leur permettre de
donner du style à certains paragraphes.

Par exemple, au beau milieu d'un de leur texte, ils souhaitent mettre un
encadré particulier qui affichera un exemple de tarif.
J'aurais donc souhaitez qu'ils puissent associer une classe à un paragraphe
sans insérer de l'html dans le corps de l'article ..... mais je ne vois pas
comment faire .....

Et insérer une image ne ferait pas l'affaire ?

--
@plus

Jacques

Pour les lyonnais++ spip-lyon@rezo.net http://spip-party.net/-Lyon-

Merci pour vos nombreuses réponses … j’utilise effectivement le couteau suisse. Je vais donc tenter les différentes pistes énumérer.

Bonne soirée, je vous tiens au courant

Emmanuelle

denisb a écrit :

il va bien falloir qu'ils écrivent quelque chose pour dire :
  "depuis ici"
  "jusque là"

C'est l'une des possibilités. Dans ce cas en déclarant des balises #DEBUT_STYLE et #FIN_STYLE , cela permet de masquer le code HTML aux utilisateurs.
Ca pourrait donner quelque chose dans ce goût :

function balise_DEBUT_STYLE ($p) {return calculer_balise_dynamique($p,'DEBUT_STYLE', array());}

function balise_DEBUT_STYLE_stat ($args, $filtres) {
        return (isset($args[0])) ? array($args[0]) : array("def");
}

function balise_DEBUT_STYLE_dyn($classe) {
        return "<div class=\"$classe\">";
}

à mettre dans balise/debut_style.php . La seconde #FIN_STYLE est du même tonneau.
Dans ce cas, un simple
#DEBUT_STYLE{ma_classe_css}
mon paragraphe
#FIN_STYLE
Feront l'affaire. Ceci dit, si #FIN_STYLE est oubliée, ça risque de ne pas être super ...

Sinon, la seconde option dont je parlais est basée sur un filtre à appliquer sur la balise #TEXTE, en se basant sur la structure des paragraphes spip.
Ce filtre recherche dans le contenu de l'article des chaînes répondant à un format particulier du type %%style|mon_style%%.
Une fois cette chaine trouvée ( si elle existe ), le filtre va insérer de lui même des div de la classe "mon_style" pour encadrer le paragraphe arrivant immédiatement après ( en se basant sur les balises P ). Pour cela, il faut disséquer le html suivant la pseudo balise en faisant bien attention aux paragraphes imbriqués ...

C'est plus simple pour l'utilisateur, mais nettement plus pénible à coder.