|
Publicité | ||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : mai 2007 Messages : 38 ![]() |
Bonjour,
J'ai créé une partie administration sur mon site qui me permet d'éditer mes fichier article, news etc.. pour sa je souhaite utiliser CKEditor, je l'ai installé tout va bien, seulement dans mes fichiers à éditer j'ai du code php et ce code est très mal interprété par CKEditor, je vous donne un exemple: Dans mon fichier erreur404.php, j'ai un code php en tout début de fichier qui me permet de modifier la balise <title></title> comme ceci: Code :
alors je souhaiterais savoir si il est possible soit de ne pas interpréter le code php dans CKEditor soit de l'interpréter mais correctement et surtout pas le modifier parce que quand je sauvegarde une modification il me change les balises php comme ceci: code original: Code :
<?php $head = "<title>Erreur 404</title>"; ?> Code :
<?php $head = "<title>Erreur 404</title>"; ?> |
||
|
|
00
|
|
|
#2 |
![]() ![]() Thomas RambaudDéveloppeur Web Inscription : décembre 2007 Messages : 2 132 ![]() |
Bonjour,
FCKEditor, TinyMCE et autres sont des éditeurs HTML, si tu souhaites mettre du PHP dedans, il faudra soit faire comme tu l'as fait, puis appliquer la fonction html_entity_decode afin de reconstruire les balises pour ensuite évaluer la chaine (vraiment pas propre du tout). Ou alors tu peux simplement étendre les éléments HTML valide en autorisant la balise <title> (pas propre du tout). Ou alors tu développes un plugin qui t'insères une chaine particulière du type : [PHPCODE] $var = 'truc'; echo $var; [/PHPCODE] Ensuite sur la callback de soumission de ton éditeur WYSIWYG tu peux éviter que l'éditeur échappe le contenu du token [PHPCODE] (ou du moins dés-échapper). Mieux, ton plugin pourrait faire référence à un fichier existant (ou à un identifiant de bloc PHP) et simplement insérer quelque-chose comme : [PHPFILE src="truc.php"] Il te suffirait par la suite de remplacer cette chaine par un include. |
|
00
|
|
|
#3 |
|
Invité régulier
![]() Inscription : mai 2007 Messages : 38 ![]() |
Merci beaucoup pour ta réponse
La création d'un tel plugin est-elle difficile d'après toi, parce que je me débrouille un peux mais faut rester modeste peut être pourrait-tu me proposer une page ou est expliqué la création des plugin pour CKEditor? merci beaucoup |
|
|
00
|
|
|
#4 | ||
![]() ![]() Thomas RambaudDéveloppeur Web Inscription : décembre 2007 Messages : 2 132 ![]() |
Bonsoir,
Il y a apparement un paliatif qui consiste à décommenter la ligne suivante dans fckconfig.js : Code :
Code :
FCKConfig.ProtectedSource.Add( /<\?php[\s\S]*?\?>/g ) ; http://drupal.org/node/41524 Concernant la création de plugin, j'ai trouvé ce tutoriel qui me paraît très clair : http://www.ingeny.fr/2010/01/ecrire-...itor-partie-1/ |
||
|
00
|
|
|
#5 | ||
|
Invité régulier
![]() Inscription : mai 2007 Messages : 38 ![]() |
Bonsoir ThomasR,
Donc j'ai un peu cherché autour de ta solution qui est apparemment utilisé pour FCKeditor sur CKeditor il n'y a pas de dossier "lib" en fouillant un peut dans le dossier "_source" j'ai trouvé un fichier config.js dans lequel j'ai trouvé ça: Code :
ou juste la ligne ? merci pour le tuto je préfère attendre ta réponse pour ma demande avant de me lancer dans un plugin. |
||
|
|
00
|
|
|
#6 | ||||
|
Invité régulier
![]() Inscription : mai 2007 Messages : 38 ![]() |
Quel naze j'ai trouvé il faut mettre la ligne dans le fichier config.js du dossier ckeditor !
Bon sa fonctionne à moitié malheureusement je te montre le code de ma page 404.php pour que tu vois: Code :
c'est rageant à force, voici le résultat une fois enregistré avec CKEditor: Code :
merci |
||||
|
|
00
|
|
|
#7 | ||
![]() ![]() Thomas RambaudDéveloppeur Web Inscription : décembre 2007 Messages : 2 132 ![]() |
Bonjour,
Le résultat est très bien, tu devrais générer les balises <html> et <head> après avoir utilisé la variable $title. Code :
|
||
|
00
|
|
|
#8 |
|
Invité régulier
![]() Inscription : mai 2007 Messages : 38 ![]() |
bonjour,
J'ai mis les chemin des images avec une partie en php ce qui fait que CKEditor me le change comme ceci: Code original: Code :
<a href="<?php echo WEBROOT; ?>index.php">Accueil</a> Code :
<a href="<!--{cke_protected}%3C%3Fphp%20echo%20WEBROOT%3B%20%3F%3E-->index.php">Accueil</a><br /> ![]() Par contre j'ai pas tout compris dans ta réponse, ce n'est pas moi qui génère les balises <html> et <head> c'est CKEditor qui les met une fois que je sauvegarde. C'est sur que ce serais bien mieux que ma variable $head ($title) soit mise avant le code html mais je ne vois pas comment lui dire cela à CKEditor J'ai éssayé de mettre le code que tu ma proposé dans ma page index qui appel tout les autres fichier mais je ne vois pas trop à quoi cela sert, pourrait tu m'en dire plus s'il te plais ? J'ai rajouté cette ligne qui manquais dans mon code: mais il faut peut être que je définisse la variable $ckeditor_value mais je ne vois pas à quoi elle correspond ! merci |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com