Klasse includieren:
$tb = new pmxAdminForm();
Konfiguration einstellen (optional)
$tb->__set("tb_text",""); //Titeltext
$tb->__set("tb_direction",'right'); //Toolbar links/rechts ausgerichtet
$tb->__set("infobutton",true); // test bei Buttons
$tb->__set("tb_pic_heigth",32); // Buttongröße
Folgende Einstellmöglichkeiten gibt es (momentan) und ihre Standardwerte:
'tb_pic_heigth' => 30, // höhe Bilder der Toolbar, standard 30px
'tb_pic_text' => true, // Anzeige Text unter den Toolbarimages true/false
'tb_pic_path' => "images/adminform/", // standardpfad zu den Bildern -> pfad zur pmxRoot
'tb_direction' => "right", // standartdausrichtung right/left
'tb_text' => "", // text seitlich der Toolbar
'tb_show'=>'top', // anzeige der Toolaber top=oben, bottom=unten, both = oben und unten
'formname'=>'adminForm', // Name des Formulars
'checklistflag' => false, // gesetzt wenn eine checkliste erwartet wird
'collapsibleflag' => false, // gesetzt, wenn die Fieldsets klappbar sein sollen
`buttontext'=>false, // Anzeige von Save und UP-Button unterhalb der Fieldlist
'formopenflag'=>FALSE, // gesetzt, wenn form geöffnet wurde
'target_url'=>$_SERVER['REQUEST_URI'], // Target-Url des Formulars -> standard = self
'enctype'=>'', // encrypt-Type für das Formular
'title'=>'', // Titel über dem Formular
'description'=>'', // Text unter dem Titel
'cssclass'=>'toolbar1', // css-Klasse für die Toolbar ... standard 'toolbar'
'infobutton'=>false, // Infobutton (true) oder Infotext (false)
'infobuttonflag'=>false,
'tooltiptheme'=>'light', // plain, dark, light, blue, red, green
'tooltipstyle'=>'youtube', // shadow, rounded, youtube, jtools, cluetip, tipped, tipsy
'checkselector'=>'cid', // Name der Checkbox, die für "alle selektieren" verantworlich ist
Toolbar festlegen (optional)
$tb->addToolbar("add");
$tb->addToolbar("editX");
// alle Endungen mit ‘X’ erfordern dann eine Listenauswahl. Jeder Begriff kann mit dem X versehen warden.
$tb->addToolbar("publishX");
$tb->addToolbar("unpublishX");
$tb->addToolbar("deleteX");
$tb->addToolbar("config");
Für die verwendeten Begriffe werden die gleichnamigen Icons im Verzeichnis images/adminform gesucht. Wird keins gefunden, so wird ein blank ausgegeben. Alternativ kann ein eigenes Bild angegeben werden. Gleiches gilt für den Ausgabetext. Wenn ein Text in der language-Datei gefunden wird, wird er ausgegeben, ansonsten wird $name verwendet
Siehe:
Function addToolbar($name, $text='', $pic='', $listfunc=false)
$text=Ausgabetext
$pic= kompletter Pfad zum Bild relative zur URL
$listfunc= wenn TRUE dann wird Listenauswahl erzwungen
Alternativ kann auch ein einfacher Link in die Toolbar integriert werden, mit:
function addToolbarLink($name,$targeturl='', $text='', $pic='' )
Bsp: $class->addToolbarLink("cancel","admin.php?op=$module_name");
Hier verhält es sich mit Text und Bild, wie bei dem normalen ToolbarButton.
Fieldsets hinzufügen (optional)
Die Formelemente können in Fieldsets angeordnet werden. Wenn keine Fieldset dfiniert, werden alle definierten Formelemente in einer Liste angezeigt
function addFieldSet($fname,$ftitle,$flegend="",$collapsible=false)
$fname = interner Name des Fieldsets
$ftitle= angezeigter Text in der oberen Titelzeile des Fieldsets
$flegend = Beschreibung , wird am Anfang des Fieldsets ausgegeben
$collapsible= wenn TRUE wird das Fieldset klappbar ausgeführt
Bsp: $class->addFieldSet(„config“,“Konfiguration“,“Hier wird die Konfiguration des Modul....“,true);
Formelemente hinzufügen
Die Formelemente werden alle über diese Funktion hinzugefügt:
function add ($ffieldset,$ftype,$ffieldname,$fvalue="",$flegend="",$fdesc="",$ffieldlen=0,$fextern="",$frequired=false)
ffieldset = Name des Fieldset
fftype = Type des Formularelementes
input = Texteingabe
output = allgemeine Textausgabe
textarea = Textarea/SPAW
yesno = ja/nein
select = Auswahlliste $value= array( Anzeige => wert )
checkbox = CheckBox
password = Passworteingabe
textarea = Textbox oder SPAW
radio = Radiobuttons
html = html-code allgemein
flegend = Feldbeschreibung (vor!! dem Formelement)
ffieldname = Name des Formularfeldes
fvalue = voreingestellter Wert des Eingabeelementes
fdescription = Zusatzbeschreibung hinter dem Element oder im Infobutton
ffieldlen = Länge des Eingabefeldes (bei input/Text z.Bsp.)
= Höhe bei WISYWIG
fextern = sonstige Angaben, bei verschiedenen Elementen sinnvoll
frequired = feldeingabe erforderlich (immo noch ohne Funktion, kommt mit den HTML5-Bausteinen)
Bsp.
$class->add("","input","lastchange",mx_strftime(_DATESTRING." %H:%M:%S", $book['date_created']), _ADMIN_LASTCHANGE,"",30,"readonly="readonly"");
// dieses Eingabefeld (gesperrt) wird ausserhalb der Fieldsets angezeigt
$class->add("head","hidden","id",$book['id']);
$class->add("head","input","title",$book['title'],_TITLE,"Buchtitel angeben",50);
$class->add("head","textarea","text1",$book['text1'],BOOK_PREAMBLE,"",200,true);
Form ausgeben
Für die Formausgabe des HTML-Codes gibt es 2 Möglichkeiten
Komplette Ausgabe in einem Zug
$form= $tb->Show();
Hier wird die komplette Form inkl. Toolbar, FieldSets, Formlementen, JScripts, etc zusammengestellt und ausgegeben.
Einzelabfrage der Elemente
Hier werden alle „Bausteine“ der Form einzeln abgefragt. Eine bestimmte Reihenfolge ist dabei einzuhalten :
- Form öffnen
- Toolbar abfragen
- Fieldsets einzeln abfragen oder Formelemente komplett abfragen
- Form schließen
$toolbar=$tb->getToolbar(); // Toolbar abfragen
$field1=$tb->getFieldSet(„head“); // Fieldset abrufen
$field2=…
$form= $tb->getForm(); //holt alle Fieldsets und das „drumherum“ ab
$formClose=$tb->FormClose(); //Form schließen
Form auswerten
Ja, wie komme ich jetzt an meine Daten aus der Form ? Auf der Target-Seite der Form ->“target-url“ muss eine Abfrage der Formelemente erfolgen über :
pmxAdminForm::CheckButton()
sinnvollerweise in einem switch
case "accept":
………..;
case "save":
$content=array();
foreach($_POST as $key=>$value) {
$content[$key]=mxAddSlashesForSQL($value);
}
$cat->update ($_POST['id'],$content);
unset($content);
break;
default:
break;
}
So, das müsste es gewesen sein
Eine ausführlicherere Anleitung im Anhang