Formulare
Alle Formulare in Contentpapst werden über die API erzeugt, da sich hier schnell Überprüfungen der Formulardaten, Veränderungen der Felder usw. einbauen lassen. Die Formular-Funktionen stehen direkt in jeder Datei zur Verfügung, welche als Modul integriert ist. Eine Einbindung weiterer Dateien ist nicht notwendig.
Wird in einem Formular ein WYSIWYG-Editor eingesetzt, so muss dieses Formular mit der Funktion "form_start_wysiwyg()" begonnen werden. Der Funktion wird hierzu beim Aufruf ein Formular-Ziel und die gewünschte Übergabemethode ("get"/"post") übergeben. Standardmäßig wird "post" genutzt. "form_start_wysiwyg()" nimmt zusätzlich eine Überprüfung des Browsers des Benutzers vor.
form_start_wysiwyg("admin.php?file=controlling&mode=add_info","post");
Die Funktion "form_wysiwyg()" ist das Kernstück des in Contentpapst integrierten WYSIWYG-Editors. Mit dieser Funktion lässt sich der Editor komplett frei strukturieren. Alle Optionen des Editors lassen sich einzeln abschalten, so dass sowohl eine eingeschränkte Version mit den wichtigsten Optionen zur Textbearbeitung sowie auch ein sehr komplexer WYSIWYG-Editor für die eigenen Module realisiert werden können.
Die Funktion benötigt zur Integration des WYSIWYG-Editors alle Informationen in Form eines Arrays (siehe Beispiel unten). Zusätzlich muss das Formular mit der Funktion "form_start_wysiwyg" statt wie üblich über "form_start" begonnen werden.
| url_rewrite |
|
Bearbeitungsmodus ("admin" oder "index") |
| width |
|
Breite des Eingabefeldes |
| height |
|
Höhe des Eingabefeldes |
| title |
|
Name des Editors |
| type |
|
Typ (1 = neuer Inhalt, 2 = Datei öffnen [dann ist "content" der Dateiname]) |
| content |
|
Vorgegebener Inhalt des Eingabefeldes |
| hide_buttons |
|
Einfaches Textfeld ohne Buttons |
| width_percent |
|
Breite ist in Prozent angegeben |
| height_percent |
|
Höhe ist in Prozent angegeben |
| element / start |
|
Beginn einer Buttonleiste |
| element / stop |
|
Ende einer Buttonleiste |
| elements / 0 ... n |
|
Buttonleiste mit Array der Buttons (siehe unten) |
| allow |
|
Aktivierte Buttons ("all" = Alle Buttons sichtbar) |
| selected_border_color |
|
Rahmenfarbe bei Auswahl eines Buttons |
| selected_background |
|
Hintergrundfarbe bei Auswahl eines Buttons |
| hover_border_color |
|
Rahmenfarbe bei Mouseover eines Buttons |
| hover_background |
|
Hintergrundfarbe bei Mouseover eines Buttons |
| unselected_border_color |
|
Rahmenfarbe bei Abwahl eines Buttons |
| unselected_background |
|
Hintergrundfarbe bei Abwahl eines Buttons |
| return |
|
Ausgabemodus (0 = direkt, 1 = Rückgabe an Variable) |
Das untenstehende Beispiel zeigt den WYSIWYG-Editor wie er auch im Artikel-Modul zum Einsatz kommt. Hier werden u.a. verschiedene Farben für die einzelnen Buttons vergeben, zwei Leisten mit den gewünschten Buttons erzeugt und eine Größe für das Eingabefeld vergeben.
$options["url_rewrite"] = "admin";
$options["width"] = "618";
$options["height"] = "350";
$options["title"] = "articledesc";
$options["type"] = "1";
$options["content"] = "";
$options["hide_buttons"] = "0";
$options["width_percent"] = "0";
$options["height_percent"] = "0";
$options["row"]["start"] = "<div style="border: 0px; border-color: #000000; border-style: solid">";
$options["row"]["stop"] = "</div>";
$options["elements"]["0"] = array("cut", "copy", "paste", "separator", "print", "saveas", "separator", "undo", "redo", "separator", "bold", "italic", "underline", "separator", "justifyleft", "justifycenter", "justifyright", "justifyfull", "separator", "insertorderedlist", "insertunorderedlist", "separator", "forecol", "backcol");
$options["elements"]["1"] = array("font", "size", "images", "special", "separator", "removeformat", "word", "separator", "inserthorizontalrule", "outdent", "indent", "separator", "toggleview", "preview", "separator", "createlink", "unlink", "enlarge", "table");
$options["allow"] = array("all");
$options["selected_border_color"] = "#E1EAF7";
$options["selected_background"] = $background;
$options["unselected_border_color"] = $tableback;
$options["hover_background"] = $background;
$options["hover_border_color"] = $tableback;
form_wysiwyg($options);
Folgende Buttons sind vorhanden für die Integration in den Buttonleisten. Die Verfügbarkeit eines Buttons ist davon abhängig, ob der CP::Editor für erweiterte Funktionen integriert ist.
| Übersicht der Buttons für die Buttonleisten |
| cut / copy / paste / print / saveas |
|
Ausschneiden, Kopieren, Einfügen, Drucken, Speichern |
| undo / redo |
|
Rückgängig/Wiederherstellen |
| bold / italic / underline / strikethrough |
|
Fett, Kursiv, Unterstrichen, Durchgestrichen |
| justifyleft / justifycenter / justifyright / justifyfull |
|
Ausrichtung links, zentriert, rechts und Blocksatz |
| insertorderedlist / insertunorderedlist |
|
Nummerierung/Aufzählung |
| forecol / backcol |
|
Text- und Hintergrundfarbe |
| removeformat |
|
Formatierung entfernen |
| outdent / indent |
|
Einzug verkleinern/vergrößern |
| images / special |
|
Grafik und Sonderzeichen einfügen |
| word |
|
Word-Quelltext aufräumen |
| preview |
|
Vorschau anzeigen |
| createlink / unlink |
|
Link einfügen/entfernen |
| inserthorizontalrule |
|
Horizontale Linie einfügen |
| toggleview |
|
Wechsel zwischen WYSIWYG- und Text-Modus |
| selectall |
|
Alles auswählen |
| unselect |
|
Alles abwählen |
| toupper / tolower |
|
Großschrift/Kleinschrift |
| superscript / subscript |
|
Schrift hochgestellt/tiefgestellt |
| table |
|
Tabelle einfügen |
| br |
|
Einfacher Zeilenumbruch |
| pre |
|
Vorformatierter Text (Quellcode) |
| email |
|
Formular für Email-Adresse |
| link |
|
Erweiterte Linkeinstellungen |
| button |
|
Schaltfläche |
| checkbox |
|
Kontrollkästchen |
| radio |
|
Optionsfeld |
| textarea |
|
Textbereich |
| textfield |
|
Textfeld |
| form |
|
Formular |
| hidden |
|
Verstecktes Feld |
| dropdown |
|
Dropdownfeld |
| find |
|
Suchen |
| anchor |
|
Textmarke |
| zoom |
|
Auswahlmenü für Zoomstufe |
| float_left |
|
Inhalte ausrichten (links) |
| float_right |
|
Inhalte ausrichten (rechts) |
<< zurück zur Startseite der Dokumentation