Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
de:entwickler:javascript-editor_integrieren [2011/09/17 13:10] – angelegt fassede:entwickler:javascript-editor_integrieren [2015/10/25 22:13] (current) – Create editor with HtmlForm fasse
Line 4: Line 4:
  
 ===== Editor in Formular einbauen ===== ===== Editor in Formular einbauen =====
-Der Einbau in ein Formular ist relativ einfach und im Script müssen nur Stellen angepasst werden. +Der Einbau in ein Formular ist seit Version 3.0 kinderleicht geworden 
-Im 1Schritt muss die PHP-Klasse für den Editor integriert werden+In der Regel sollte ein Formular mit der Klasse [[http://www.admidio.org/dokusource/class_html_form.html|HtmlForm]] erstellt worden sein. 
-<code php>require_once('../../system/classes/ckeditor_special.php');</code> +<code php>$form = new HtmlForm('edit_form', $g_root_path.'/adm_program/modules/announcements/announcements_function.php?ann_id='.$getAnnId, $page);</code> 
-Im 2Schritt wird ein Objekt der Editorklasse erstellt: <code php>$ckEditor = new CKEditorSpecial();</code> +Nun könnt ihr an der entsprechenden Stelle einfach die [[http://www.admidio.org/dokusource/class_html_form.html#a8078919d1f9d0fd7966e1a5bfa635f25|addEditor]] Methode aufrufen und schon ist der CKEditor in eurem Formular enthalten. 
-Im 3. Schritt wird nun eine Editorinstanz über PHP erzeugt, dazu muss folgender Code an die Stelle eingebaut werden, an der später der Editor angezeigt werden soll: <code php>$ckEditor->createEditor('ann_description', $announcement->getValue('ann_description'))</code> +<code php>$form->addEditor('ann_description', $gL10n->get('SYS_TEXT'), $announcement->getValue('ann_description'), array('property' => FIELD_REQUIRED));</code>
-Folgende Übergaben werden bei **createEditor** erwartet: Als erstes wird die ID übergeben, die das Editorelement später bekommt und über die auf den Editor zugegriffen werden kann, als 2. Wert wird der Inhalt für den Editor erwartet. Die 3. Übergabe kann ein Name für eine andere definierte Toolbar sein und als letzte 4. Übergabe kann man Einfluss auf die Höhe des Editors nehmen.+
  
 ===== Speichern des Inhalts ===== ===== Speichern des Inhalts =====
Line 26: Line 25:
     }     }
          
-    public function setValue($field_name, $field_value)+    public function setValue($field_name, $field_value, $check_value = true)
     {     {
         if($field_name == 'ann_description')         if($field_name == 'ann_description')
Line 36: Line 35:
          
 ===== Validierung des Html-Inhalts ===== ===== Validierung des Html-Inhalts =====
-Da über den Editor nun Html-Code übertragen wird, muss dieser vor dem Speichern in die Datenbank noch validiert werden. Dazu nutzt Admidio das Script htmLawed. Dieses muss in dem Script, welches die Eingaben des Editors verarbeitet integriert werden: <code php>require_once('../../libs/htmlawed/htmlawed.php');</code> Im nächsten Schritt wird dann der Inhalt des Feldes durch das Script geprüft: <code php>$_POST['ann_description'] = stripslashes($_POST['ann_description'])+Da über den Editor nun Html-Code übertragen wird, muss dieser vor dem Speichern in die Datenbank noch validiert werden. Dazu nutzt Admidio das Script htmLawed. Dieses muss in dem Script, welches die Eingaben des Editors verarbeitet integriert werden: <code php>require_once('../../libs/htmlawed/htmlawed.php');</code> Im nächsten Schritt wird dann der Inhalt des Feldes durch das Script geprüft: <code php>$_POST['ann_description'] = htmLawed(stripslashes($_POST['ann_description']));</code>
-$_POST['ann_description'] = htmLawed($_POST['ann_description']);</code>+
  
-===== Validierung des Html-Inhalts =====+===== Bildupload ermöglichen ===== 
 +Soll die Editorinstanz auch den Upload von Bildern ermöglichen, so muss im Uploadscript noch ein Ordnernamen für einen Ordner innerhalb von **adm_my_files** angegeben werden. Dazu ruft man das Script **adm_program/system/ckeditor_upload_handler.php** auf und ergänzt dort die If-Struktur ca. Zeile 30 mit der neuen Editor-ID <code php>if($_GET['CKEditor'] == 'ann_description'
 +
 +    $folderName = 'ANNOUNCEMENTS'; 
 +}</code> 
 + 
 +===== Überspringen der Html-Code-Prüfung =====
 Im letzten Schritt zur Integration des Editors muss die systemweite Prüfung aller Übergabevariablen auf Html-Code für die Id des Editor-Feldes deaktiviert werden. Dazu muss die Funktion **admStrStripTagsSpecial** ergänzt werden. <code php>if($key != 'ann_description') // ckeditor-variable Im letzten Schritt zur Integration des Editors muss die systemweite Prüfung aller Übergabevariablen auf Html-Code für die Id des Editor-Feldes deaktiviert werden. Dazu muss die Funktion **admStrStripTagsSpecial** ergänzt werden. <code php>if($key != 'ann_description') // ckeditor-variable
 { {
  • de/entwickler/javascript-editor_integrieren.1316257838.txt.gz
  • Last modified: 2011/09/17 13:10
  • by fasse