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

ACHTUNG die Toolbar-functionen geben Ihre Rückgabewerte über die Abfrage pmxAdminForm::CheckButton() zurück.

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 :

  1. Form öffnen
  2. Toolbar abfragen
  3. Fieldsets einzeln abfragen oder Formelemente komplett abfragen
  4. Form schließen
$formOpen= $tb->FormOpen(); // Form öffnen
$toolbar=$tb->getToolbar(); // Toolbar abfragen
$field1=$tb->getFieldSet(„head“); // Fieldset abrufen
$field2=…

// alterrnativ !! nicht beides !!!!

$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

switch (pmxAdminForm::CheckButton()) {
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