Feldtypen-Erweiterung

Aus Limbas Wiki

Wechseln zu: Navigation, Suche

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.

Feldtypenerweiterung Abb6.png

<?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";
}
?>


Die Funktionen zur Erstellung einer Feldtypen-Erweiterungen werden immer nach dem selben Prinzip benannt (siehe oben). Die Funktion wird immer mit lmbd_NameDerFeldtyperweiterung oder lmbd_NameDerFeldtyperweiterung benannt, wobei lmbd für Detail und lmbc für Liste steht.

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. Feldtypenerweiterung Abb2.png
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. Feldtypenerweiterung Abb3.png

Beispiel

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.

<?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>
';
}
?>


Anschließend wurde zu Demonstrationszwecken ein neues Feld namens „TestButton“ erstellt und die zugehörige Feldtypenerweiterung „extendedEditButton“ zugewiesen.

Feldtypenerweiterung Abb4.png

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.

Feldtypenerweiterung Abb8.png