Erweiterungen Feldtypen erweitern Geschätzte Lektüre: 3 Minuten Allgemeines Mithilfe von Feldtypen-Erweiterungen kann man Feldtypen mit einer eigenen Funktionalität überschreiben.Hierbei ist es prinzipiell egal, welcher Feldtyp verwendet wird, es sei denn, man möchte auf die Grundeigenschaften des Feldtyps aufbauen.Feldtypenerweiterungen werden mit Hilfe von Funktionen in der Datei Erweiterungen → ext_type.inc erstellt.Die Funktionen zur Erstellung einer Feldtypen-Erweiterungen werden immer nach dem selben Prinzip benannt (siehe oben). Die Funktion wird immer mit lmbd_NameDerFeldtyperweiterung , lmbd_NameDerFeldtyperweiterung oder lmbc_NameDerFeldtyperweiterung benannt, wobei lmbd für Detaillmbc für Listelmbu für Update steht. Beispiel: <?php function lmbd_extendedTestHallo($ID,&$gresult,$fieldid,$gtabid,$class,$style,$pos,$typ $z_index=null,$event=null,$gformid=null,$formid=null) { echo "test_detail"; } function lmbc_extendedTestHallo($bzm,$field_id,$gtabid,$typ,&$gresult,$event=null) { echo "test_liste"; } function lmbu_extendedTestHallo($gtab_id,$field_id,$ID,&$change_value) { global $gfield; $change_value = parse_db_string($change_value,$gfield[$gtab_id]["size"][$field_id]); $sqlquery = $fieldname." = '".$change_value."'"; $sqlquery = str_replace(array("\n", "\r"),"",$sqlquery); return $sqlquery; } ?> Integration einer Feldtypen-Erweiterungen Nachdem eine Feldtypen-Erweiterung in der ext_type.inc Datei erstellt wurde, kann sie nun auf einen Feldtyp angewendet werden. Hierzu kann ein neuer Feldtyp erstellt werden oder ein bereits vorhandener verwendet werden.Anschließend kann in der Spalte Erweiterung die erstellte Feldtypen-Erweiterung ausgewählt werden. Nachdem die Feldtypen-Erweiterung auf einen Feldtyp angewendet wurde, muss anschließend die aktuelle Session durch einen Klick auf den reset-Button zurückgesetzt werden, um die Änderungen sichtbar zu machen. In folgendem Beispiel wurde eine Feldtypen-Erweiterung verwendet, um einen Button in eine Tabelle und Formular einzufügen, in diesem Fall, um auf eine Website weiterzuleiten. Beispiel: <?php function lmbd_extendedEditButton($bzm,$field_id,$gtabid,$typ,&$gresult,$event=null) { echo ' <div class="lmbMenuItemTop2Icon"> <a target="new" href="http://limbas.de" class="lmb-icon lmb-info-circle-alt2"></a> </div> '; } function lmbc_extendedEditButton($bzm,$field_id,$gtabid,$typ,&$gresult,$event=null) { echo ' <div class="lmbMenuItemTop2Icon"> <a target="new" href="http://limbas.de" class="lmb-icon lmb-info-circle-alt2"></a> </div> '; } ?> Notiz: Die Darstellung in Auswahl oder ajax Verknüpfungen sowie ajax Suchergebnissen wird über die Listen Funktionserweiterung lmbc_ abgebildet. Steht die Erweiterung nicht zur Verfügung wird der reine Feldtyp gerendert Anschließend wurde zu Demonstrationszwecken ein neues Feld namens „TestButton“ erstellt und die zugehörige Feldtypenerweiterung „extendedEditButton“ zugewiesen.Nach einem Reset ist nun der erstellte Button in der Tabelle zu finden. Durch einen einfachen Klick auf das Icon wird man nun in einem neuen Tab auf die Website weitergeleitet.