Un peu de PHP :
$widget_editor = $core->auth->getOption('editor'); echo $core->callBehavior('adminPostEditor',$widget_editor['xhtml'],'widget',array('#sidebarsWidgets textarea'),'xhtml');
Un peu de Javascript :
// HTML text editor if ($.isFunction(jsToolBar)) { $('#sidebarsWidgets textarea').each(function() { var tbWidgetText = new jsToolBar(this); tbWidgetText.draw('xhtml'); }); }
Et tada :
J’vous ai déjà dit que j’adore coder des trucs qui facilitent la vie ?
1 De Sylvain -
Ah cool, ça sera utile pour les utilisateurs de Kynä (que j’espère bien relancer avec ma nouvelle situation).
2 De Alain Korkos -
Deux fôtes dans ton texte :
- “de ce blog” (sans S)
- “sans l’autorisation expresse de SON auteur”.
Et sinon j’ai pas bien pigé le lien entre “propriété exclusive de l’éditeur” et “autorisation expresse de son auteur”… Qui c’est-ti qu’est l’proprio, là-d’dans ?
3 De Franck -
Sylvain you’re welcome !
Alain le proprio ? J’en sais rien, il est parti avec la caisse :-)
4 De biou -
Question naïve, est-ce que le bouton souligner est souvent utilisé ? Ne risque-t-on pas de confondre le texte souligné avec un lien ?
5 De Tomek -
@Biou : Tout bon éditeur wysiwyg sur le web ne devrait pas comporter la possibilité de souligner du texte, à mon avis. Parce que si on le laisse, l’utilisateur s’en servira. Déjà constaté.
6 De Tomek -
Sinon, c’est plutôt une excellente nouvelle ! Ça marchera aussi avec le wiki et markdown, je suppose ?
7 De Franck -
biou on peut se poser la question, effectivement, s’il faut un sous-ensemble ou pas de la barre d’outil.
Tomek non, uniquement du XHTML/HTML5 ici, rien d’autre. Intégrer une autre syntaxe nécessiterait un traitement particulier et on perdrait la source (wiki ou markdown) à chaque enregistrement. En fait c’est idem que pour les descriptions des catégories.
8 De Franck -
Quant au débat sur le
barragesoulignage, comment dire… Perso je m’en sers, ou plutôt c’est visible via la CSS quand j’utilise les balises del et ins.9 De mirovinben -
Je plussoie pour le non-usage du soulignement pour les mêmes raisons que les zautres intervenants.
Sinon, c’est über tip-top ton truc. Tu conseilles de mettre les bouts de code où pour avoir la même chose chez moi ?
10 De mirovinben -
Ah ben merdum, j’ai la réponse sous les yeux : je lis à l’instant le ticket #1951 (excellente année que 1951) et ton remède. Donc faut juste attendre la 2.9.x.
Cool.
M’autorises-tu à faire la même chose pour le widget mrvbText proposé avec le plugin mrvbCustomWidgets ?
11 De Franck -
mirovinben, deux choses :
12 De mirovinben -
Formidable !
Et la 2.10, elle sort quand ?
Voui, je connais la réponse mais je tente quand même.
13 De Franck -
Suffit de consulter la Roadmap soit pour la 2.10 le 13 août 2016.
14 De mirovinben -
Ah ? C’est pas “quand elle sera prête” ?
On me cache tout.
15 De Tomek -
@Franck : ok, et du coup ce sera en place aussi de façon automatique comme les descriptions de catégorie, si je comprends bien ?
16 De Franck -
Tomek c’est déjà en place pour les descriptions des catégories.
17 De Philippe -
Pour la description du blog, c’est possible ?
18 De Franck -
Faut que je regarde parce qu’elle est utilisée un peu partout (head des jeux de template, XML pour les flux, …) et il va falloir que je vire le HTML d’icelle dans la majeure partie des cas.
19 De Franck -
Mais a priori oui, y’a pas de raison et d’ailleurs ça me permettra de corriger le fait qu’on ait laissé le code HTML de la description un peu partout (sauf bien sûr là où elle est utilisée en baseline).
20 De Franck -
Philippe, voici et voilà \o/ (dans la prochaine 2.10)
21 De Philippe -
Chouette, ça fait un souhait de moins sur ma liste du Père Noël ;)
22 De JcDenis -
Juste préciser que ça ne marche qu’avec dcLegacyEditor ;)
J’ai perdu une heure parce que ça ne marchait pas chez moi… j’étais en dcCKEditor…
23 De Franck -
Euh, je viens de faire un test avec la 2.20 ça fonctionne, bizarre…
24 De Franck -
Ah oui, je vois, c’est à la création du widget que l’éditeur CKEditor n’est pas chargé…
Par contre, enregistrer avec n’importe quoi et recharger et on a l’éditeur chargé.
25 De JcDenis -
Heu, si je ne me trompe, le code que tu mets en exemple appelle un behavior adminPostEditor qui limite à dcLegacyEditor (c’est ce plugin qui l’appelle) :
if (empty($editor) || $editor != 'dcLegacyEditor') { return; }
Du coup si je veux aussi charger ckEditor le cas échéant je n’ai pas trouver encore comment faire (je suis une brelle en js :p ) mais bon c’est une featurette dont je me passe sans problème.
26 De Franck -
Oui je sais, c’est (pour l’instant) limité à l’éditeur Legacy quand on crée un nouveau widget texte par exemple — d’ailleurs il faut que je regarde ce code de plus près parce que je comprends pas (encore) pourquoi ça fonctionne avec l’éditeur Legacy.
Sinon je vais aussi regarder et voir s’il y a moyen de charger une instance CKEditor sur le nouveau
textarea
quand c’est CKEditor qui est défini pour l’édition XHTML.27 De Franck -
Bon, je botte en touche, CKEditor est trop merdique à gérer en dehors du chargement initial.
Ça n’est pas très grave…
28 De Franck -
J’arrive juste à charger CKEditor mais avec la config par défaut (sans les spécificités de Dotclear) avec ça (ajout ligne 4 et 5) :
Comme si la barre d’outil de CKEditor était chargée avant de prendre en compte la configuration. Bref c’est le dawa :-p
29 De JcDenis -
Alors déjà que j’ai du mal avec le js si en plus faut le débugguer ! :p
En tout cas merci pour la piste, et le temps passé.