Salut tt le monde,
J’ai un souci avec TinyMCE. J’aimerai pour un certain role utiliser une autre css que celle de mon theme («style.css»). Pour cela, j’ai créé un profil dans TinyMCE que j’assigne à ce role et j’ai mis :
Editor CSS : define CSS
CSS path : /themes/montheme/macss.css
Lorsque je suis connectée avec le role en question, et que j’édite du contenu, c’est la css «style.css» qui est utilisée et non «macss.css»…
J’ai vu qu’il y avait des bugs ds la 4.6 mais je suis en 5.1. Est-ce un bugs ou ai-je oublié de faire qqchose ? Avez-vous des idées du probleme ?
Merci.
- Vous devez vous identifier ou créer un compte pour écrire des commentaires

Salut, c’est probablement une erreur dans le chemin de ta CSS, essaie une URL relative (sans commencer par /).
Vincent
Formations Drupal pour WEBMASTERS, DESIGNERS et DÉVELOPPEURS.
drupalfrance
1772
Ben le souci, c’est que je suis allée voir récemment dans le code, j’y ai mis des print_r. Voici le bout de code en question :
if ($settings[‘css_setting’] == ‘theme’) {
$css = $themepath . ‘style.css’ ;
if (file_exists($css)) {
$init[‘content_css’] = $host . $css ;
}
}
else if ($settings[‘css_setting’] == ‘self’) {
$init[‘content_css’] = str_replace(array(‘%h’, ‘%t’), array($host, $themepath), $settings[‘css_path’]) ;
}
print_r($init[‘content_css’]) ;
return $init ;
}
Et en fait, quand j’update le profil avec «define css» et «css path : /themes/talent/macss.css», le print_r me renvoit toujours «/themes/talent/style.css».
Si je mets des print_r dans les if, ca passe toujours dans le premier if et jamais dans le else…
Ya un souci dans le code je pense, mais j’arrive pas à trouver où…
mistinguette
13
essai en mettant ceci dans ton «CSS path» :
%h%tmacss.css%h pour le serveur
%t pour le chemin vers le thème
macss.css pour le nom de ta CSS
dovik
34
Alors, ca fonctionne toujours pas.
Ca me renvoit toujours «drupal-5.1/themes/talent/style.css».
Ca rentre toujours dans le if :
if ($settings[‘css_setting’] == ‘theme’)
alors que ca devrait rentrer dans :
else if ($settings[‘css_setting’] == ‘self’).
Pourtant, dans le code, au niveau du formulaire, j’ai bien :
$form[‘css’][‘css_setting’] = array(
…
‘#default_value’ => $edit->settings[‘css_setting’] ? $edit->settings[‘css_setting’] : ‘theme’,
‘#options’ => array( ‘theme’ => t(‘use theme css’), ‘self’ => t(‘define css’), ‘none’ => t(‘tinyMCE default’)),
‘#description’ => …
) ;
J’ai essayé de changer #default_value en remplacant theme par self, rien n’y fait, ca me donne aussi style.css
mistinguette
13
Alors en fait, le probleme n’est plus le même.
J’ai codé en dur le nom de ma css. J’ai remplacé :
if ($settings['css_setting'] == 'theme') {$css = $themepath . 'style.css';
...
}
par
if ($settings['css_setting'] == 'theme') {$css = $themepath . 'mycss.css';
...
}
Et là, j’ai bien l’éditeur TinyMCE qui prend macss.css (même si j’ai choisi «define theme», il ne passe toujours pas dans le else, ce qui est toujours problematique).
Par contre, macss.css n’est utilisée QUE dans l’éditeur… Lorsque je soumet le contenu, la mise en page de mon contenu a changé et respecte style.css…….
Donc lorsque je définis une css dans tinyMCE, ce n’est que pour l’affichage dans l’éditeur et non pour le rendu final ???
mistinguette
13
Donc lorsque je définis une css dans tinyMCE, ce n’est que pour l’affichage dans l’éditeur et non pour le rendu final ???
Ben oui. Autrement dit, il faut dupliquer les règles CSS dans la feuille de styles de ton site ET dans celle de TinyMCE.
Vincent
Formations Drupal pour WEBMASTERS, DESIGNERS et DÉVELOPPEURS.
drupalfrance
1772
Ok sauf que j’aimerais pour des newsletters une css différente de celle pour le reste du site (qui est donc style.css).
Je sais je suis exigente :) mais on me demande de faire comme ca.
Donc peut-on utiliser deux CSS différentes suivant le type de contenu ?
J’ai essayé d’entrer mon code CSS dans les paramètres de ma catégorie de newsletters mais rien à y faire, ca prend aussi style.css
j’espère que je suis assez claire…
mistinguette
13
Pour ajouter une CSS spécifique à ta newsletter, tu pourrais créer un fichier CSS appelé newsletter.css que tu mettrais dans le répertoire de ton thème (à côté de style.css, donc).
Puis, dans le corps de la newsletter, tu pourrais ajouter le code suivant :
<?phpdrupal_add_css(path_to_theme() .'/newsletter.css');
?>
Je n’ai pas testé mais je pense que ça marcherait. L’inconvénient est qu’il faut passer le format d’entrée de ta newsletter sur «PHP Code».
Vincent
Formations Drupal pour WEBMASTERS, DESIGNERS et DÉVELOPPEURS.
drupalfrance
1772