1) Installation de FckEditor - Sauvegarde du Patrimoine de Barriac
Transcription
1) Installation de FckEditor - Sauvegarde du Patrimoine de Barriac
Installation de FckEditor dans un projet WebDev © www.ogi.fr 1) Installation de FckEditor Télécharger la dernière version de FckEditor ici : http://www.fckeditor.net/download La dézipper dans le répertoire d’installation du serveur (apache & easyphp = C:/EasyPhp/www, IIS = C:/InetPub/wwwroot) On doit avoir un dossier de ce nom : FckEditor On peut changer la langue par défaut ou modifier la barre d’outils de l’éditeur à partir du fichier : fckconfig.js 1.1) Rajouter une barre d'outils Webdev Ouvrir le fichier fckconfig.js. Chercher l'emplacement où sont redéfinis les FCKConfig.ToolbarSets Puis rajouter celle ci : FCKConfig.ToolbarSets["WebDev"] = [ ['Source','-','Preview'], ['Cut','Copy','Paste','PasteText','PasteWord','-','Print'], ['Undo','Redo'], ['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'], ['OrderedList','UnorderedList','-','Outdent','Indent'], ['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'], ['Link','Unlink'], ['FontName','FontSize'], ['TextColor','BGColor'] ] ; 2) Dans mon projet Webdev Je créer un fichier votre.ini dans le répertoire MonProjet/Exe/ et je le remplie de cette façon : [FCKEDITOR] PATH=http://localhost/Fckeditor/ Ensuite, dans le code d’initialisation du projet, on met ce bout de code : // Initialisation de FCKEDITOR l'éditeur HTML WYSIWYG PATH est une chaîne PATH=INILit("FCKEDITOR","PATH","",ComplèteRep(fRepEnCours)+"votre.ini") SI PATH = "" ALORS Erreur("Une erreur de chargement de FckEditor est survenue. Impossible de lire le fichier votre.ini") //PATH="http://localhost/Fckeditor/" Ensuite, dans l’onglet « Avancée » puis HTML de la description de la page (page où sera insérée FckEditor) on met se code : <script type="text/javascript" src="[%PATH%]fckeditor.js"></script> C’est fini pour le paramétrage, on enchaîne maintenant sur la création des champs Webdev et de leurs interactions. 2.1) 1ère méthode (la moins bien car on ne peut pas modifier la taille du FckEditor) Deux champs sont à créer : • Un champs de saisie pour sauvegarder la variable PATH (pour pouvoir faire des passages entre le code serveur et le code navigateur) On nommera ce champs : ePATH • Un champs de saisie texte qui sera remplacé par le FckEditor. On nommera ce champs : CH Dans le code d'initialisation du projet on met ce code : // Cette ligne va permettre de tester si l'éditeur marche bien. "départ et la suite" devront être en rouge. CH="Texte de <font color=""#ff0000"">départ et la suite</font>" // Cette ligne va permettre de sauvegarder le PATH dans le champ de saisie pour pouvoir dialoguer avec le code navigateur ePATH=PATH Dans le code de chargement (onload) de la page (code navigateur) : OuvreEditeur(CH..Alias,ePATH) La fonction OuvreEditeur, en code navigateur Global et Javascript ! Il suffit de cliquer sur WL à gauche de Procédure Globale dans Webdev : function OuvreEditeur(pnomChamp,pPath) { var oFCKeditor = new FCKeditor(pnomChamp); oFCKeditor.BasePath = pPath ; oFCKeditor.ToolbarSet = "Basic" ; oFCKeditor.ReplaceTextarea(); } 2.2) 2ième méthode (MAJ) 2.2.1) Initialisation à vide du champ FckEditor Un seul champ est à créer : C'est un champ HTML que l'on nommera Html1. Dans le code d'initialisation du champ, on insérera ce code : Html1 = InitChampFckEditor("html1",PATH) Avec la Procédure Globale : InitChampFckEditor : // Résumé : Initialise le champ FckEditor // Syntaxe : //[ <Résultat> = ] InitChampFckEditor (<ChampHTML>, <ePATH> [, <Modif> [, <Contenu>]]) // // Paramètres : // ChampHTML : Le champ HTML qui va supporter FckEditor (indispensable pour récupérer la largeur et la hauteur) // ePATH : Le PATH de FckEditor // Modif (valeur par défaut=0) : si 1 alors le champs est initialisé avec un contenu, 0 le champ est initialisé a vide // Contenu (valeur par défaut="") : le contenu qui va initialisé le champ // Valeur de retour : // Type indéterminé : // Aucune // // Exemple : // Indiquez ici un exemple d'utilisation. // PROCEDURE InitChampFckEditor(ChampHTML, ePATH,Modif=0,Contenu = "") SI Modif = 0 ALORS RENVOYER ""+... "<script type=""text/javascript"">" +... RC+"var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;" +... RC+"oFCKeditor.BasePath = """+ePATH+""" ;" +... RC+"oFCKeditor.ToolbarSet = ""WebDev"""+";" +... RC+"oFCKeditor.Width = "+{ChampHTML,indChamp}..Largeur+";" +... RC+"oFCKeditor.Height = "+{ChampHTML,indChamp}..Hauteur+";" +... RC+"oFCKeditor.Create() ;" +... RC+"</script>" SINON RENVOYER ""+... "<script type=""text/javascript"">" +... RC+"var oFCKeditor = new FCKeditor( 'FCKeditor1' ) ;" +... RC+"oFCKeditor.BasePath = """+ePATH+""" ;" +... RC+"oFCKeditor.ToolbarSet = ""WebDev"""+";" +... RC+"oFCKeditor.Width = "+{ChampHTML,indChamp}..Largeur+";" +... RC+"oFCKeditor.Height = "+{ChampHTML,indChamp}..Hauteur+";" +... RC+"oFCKeditor.Value = '"+FckEditorRemplace(Contenu)+"' ;"+... RC+"oFCKeditor.Create() ;" +... RC+"</script>" FIN Et une autre procédure globale : FckEditorRemplace // Résumé : Remplace les ' par des \' et les saut de ligne RC par des espaces // Syntaxe : //FckEditorRemplace (<contenu>) // // Paramètres : // contenu : <indiquez ici le rôle de contenu> // Valeur de retour : // Aucune // // Exemple : // Indiquez ici un exemple d'utilisation. // PROCEDURE FckEditorRemplace(contenu) RENVOYER Remplace(Remplace(contenu,"'","\'"),RC,"") Petite impression d'écran pour voir le résultat : 2.2.2) Initialisation avecune valeur du champ FckEditor Voici maintenant un exemple d'utilisation quand l'on veut initialiser le champ FckEditor avec une valeur (par exemple, pour modifier une facture, on récupère les données dans la BD et on l'affecte au champ Html1) : Html1 = InitChampFckEditor("html1",PATH,1,gsMonProduit) "html1" est le champ HTML à modifier, PATH voir plus haut, 1 signifie que l'on est dans le mode modif de InitChampFckEditor et enfin, gsMonProduit c'est le texte qui va initialiser le champ FckEditor. Deuxième impression d'écran avec FckEditor initialisé : 2.2.3) Récupération de la valeur du champ FckEditor Pour récupérer la source de ce que contient le champ FckEditor, il faut mettre dans le code d'un bouton ou lien : sRenvoi est une chaîne =PageParamètre("FCKeditor1")