Utiliser des templates avec CKEditor
De même que nous l'avons fait avec TinyMCE, nous allons montrer l'utilisation de l'éditeur en ligne WYSIWYG CKEditor avec des templates et la génération automatique d'un nom de fichier à partir des mots-clés contenus dans le titre de l'article.
Le template est choisi lors de la création de l'article et peut être changé en éditant un article déjà sauvé, en sélectionnant un fichier dans la liste déroulante. Vous pouvez ajouter vos propres templates dans le répertoire.
Comment cela fonctionne
Le système de base comprend une série de scripts. Cela est destiné à être développé par le webmaster selon ses besoins.
Notamment il conviendra de créer des templates différents.
- CKEditor, la dernière version de l'éditeur en ligne.
- Notre interface, qui est une page HTML intégrant CKEditor et associant des boutons aux fonctions de base.
- store.php crée un fichier pour l'article édité.
- retrieve.php retrouve le contenu d'un article dans un fichier créer avec cette interface.
- Le framework Ajax anaa.js, permet de sauver l'article sans quitter l'interface ou le travail en cours.
- titleconvert.php chargé par store.php pour créer le nom de fichier.
- Trois exemples de templates dans le sous-répertoire templates.
Utiliser un template
- Extraire le contenu de l'archive et le mettre en ligne sur votre site ou pour le tester localement dans le répertoire www de Wamp, Xamp ou équivalent.
- Lancer install.php pour créer un login et un mot de passe.
- Il doit être effacé et il faut le remettre en ligne si l'on veux modifier le mot de passe.
- Charger la page editor.php
- Entrer un titre d'un ou plusieurs mots.
- Choisir un template.
- Entrer un texte, et sauvegardez le.
- Ajouter un lien sur l'article sur votre site.
Démonstration
Pour cette démo très simple, nous utilisons seulement trois fichiers:
- demo-fr.php. La démonstration.
- pagebuild.php. Page qui affiche le résultat.
- pagedemo.txt. Le fichier qui sera créé.
Le code essentiel est le suivant
1) Inclusion de l'éditeur. Placer ce code dans la section HEAD
de la page:
<script type="text/javascript" src="ckeditor/ckeditor.js"></script>
2) Ajout d'un formulaire qui affiche un bouton d'envoi, pour sauver le texte:
<form action="pagebuild.php" method="post" target="_top">
<input type="hidden" name="page" value="demo-fr.php" >
<input type="submit" value="Sauver le contenu">
</form>
6) Création d'une instance de l'éditeur. Le code est inséré dans le formulaire, dans le corps de la page:
<textarea cols="80" id="editor1" name="editor1" rows="10">Vide</textarea>
<script type="text/javascript">
//<![CDATA[
var editor = CKEDITOR.replace( 'editor1' );
//]]>
</script>
Quand vous cliquez sur le bouton, le script pagebuild.php prendra le texte que vous avez tapé, qui est assigné à une variable par FCKeditor, et va le stocker dans un fichier.
Le champ dans la démonstration caché transmet l'URL de la page de l'éditeur pour que le script la recharge.
L'archive contient une distribution CKEditor, l'interface et les scripts PHP, et les exemples de templates.
Question: Utiliser CKEditor
nicolas83210
webmaster
<html> <head> <title>Document sans-titre</title> <meta charset=utf-8> </head> <body> <?php if (isset( $_POST )) $postArray = &$_POST ; // 4.1.0 or later else $postArray = &$HTTP_POST_VARS ; // prior to 4.1.0 $fname="fck/pagedemo.txt"; $nfile = fopen($fname, "w"); if($nfile != false) { foreach ($postArray as $sForm => $value ) { $yourText = $value ; fwrite($nfile, $yourText); } fclose($nfile); } echo "You have written:<br/></br/>"; echo $yourText . "<br/></br>"; ?> <form action="demo-fck.php" method="post" target="_parent"> <input type="submit" name="envoi" value="Revenir à l'éditeur"> </form></body> </html>Un fichier différent avait été créé pour la version française, sans que ce soit répercuté sur l'article. Il va être mis à jour pour que tous les fichiers nécessaires puissent être téléchargés.
nicolas83210
merci bcp pour la réponse, ça va bien servir. par contre ça fait trois jours que j'essaye de trouver une solution à mon pb si vous avez une idée ça m'aiderai bcp bcp. j'essaye d'enregistrer certains formulaires de fckeditor dans une bdd, et rien y fait ça ne se met pas à jour dans ma bdd mais aucun message d'erreur, est ce que ça viendrai de ma base de donnée, j'ai crée un table news avec un champ texte1 en textlong, bref voilà: alors j'ai deux fichiers: j'ai deux fichiers : formulaire.php
<?php include("FCKeditor/fckeditor.php") ; ?> <html> <head> <title>Edition de news</title> </head> <body> <form name="editNews" method="POST" action="savedata.php"> <?php $db = mysql_connect('mabase','user','pass') or die("Impossible de se connecter"); if (!mysql_select_db('mabase',$db)) echo "Erreur : impossible de sélectionner la base<br>"; $select = 'SELECT texte1 FROM news'; $req = mysql_query($select,$db) or die ('Erreur : '.mysql_error() ); while($row = mysql_fetch_array($req)) { echo '<tr>'; $text = $row[0] ; } $oFCKeditor = new FCKeditor('FCKeditor1') ; $oFCKeditor->BasePath = 'FCKeditor/'; // Chemin depuis l'index jusque dans le dossier FCKeditor $oFCKeditor->Width='78%'; $oFCKeditor->Height='50%'; $oFCKeditor->Value = $text; $oFCKeditor->Create(); ?> <br><input type="submit" value="Submit"></form> </body></html> puis savedata.php <? $db = mysql_connect('mabase','user','pass') or die("Impossible de se connecter"); if (!mysql_select_db('mabase',$db)) echo "Erreur : impossible de sélectionner la base<br>"; $updatedNews = $_POST['FCKeditor1']; $mysqlQuery = "UPDATE `news` SET texte1='$updatedNews'"; mysql_query($mysqlQuery,$db) or die('MySQL error: '.mysql_error()); ?>
svp ça fait trois jours que je galere sur fckeditor
webmaster
nicolas83210
webmaster
nicolas83210
nicolas83210
nicolas83210
Raté une étape , help
Titof
<?php if (isset( $_POST )) $postArray = &$_POST ; // 4.1.0 or later else $postArray = &$HTTP_POST_VARS ; // prior to 4.1.0 $fname="fck/pagedemo.txt"; $nfile = fopen($fname, "w"); if($nfile != false) { foreach ($postArray as $sForm => $value ) { fwrite($nfile, $value); } fclose($nfile); } ?>Ce serait super si je trouvais de l'aide D'avance merci Titof
webmaster
mobilesong
user10
webmaster
CKeditor et bdd
bubul
<form method="post" name="editor" action="<?php echo $editFormAction; ?>"> <table align="center"> <tr valign="baseline"> <td nowrap align="right">Titre:</td> <td><input type="text" name="titre" value="<?php echo $row_Recordset2['titre']; ?>" size="32"></td> </tr> <tr valign="baseline"> <td nowrap align="right">Txt:</td> <td><input type="text" name="txt" value="<?php echo $row_Recordset2['txt']; ?>" size="32"></td> </tr> <tr valign="baseline"> <td nowrap align="right"> </td> <td> <?php $oFCKeditor = new FCKeditor('editor') ; $oFCKeditor->BasePath = '../fckeditor/'; $oFCKeditor->Value = $row_Recordset2[txt]; $oFCKeditor->Create() ; $oFCKeditor->Name='txt'; ?></td> </tr> <input type="submit" value="Mettre à jour"> </table> <input type="hidden" name="MM_update" value="editor"> <input type="hidden" name="id" value="<?php echo $row_Recordset2['id']; ?>"> </form>Merci beaucoup !!!
webmaster