Erweiterungen Tabellen-Menüs erweitern Geschätzte Lektüre: 3 Minuten Die Menüpunkte von Tabellenformularen oder Listen können mit eigenen Punkten erweitert werden. Die Erweiterungen können mit Hilfe folgender Skript-Erweiterungen eingetragen werden: ext_gtab.inc ext_gtab_erg.inc ext_gtab_change.inc. Um in LIMBAS einem Tabellenformular oder einer Liste einen Menüpunkt hinzuzufügen, muss eine Funktion (mit beliebigem Funktionsnamen) erstellt werden, die die folgenden Parameter übergeben bekommt: $gtabid: Tabellen-Id der aktuell gezeigten Tabelle $formid: Formular-Id des aktuell verwendeten Formulars, im Falle des Standardformulars „null“ $ID: Datensatz-Id des aktuell verwendeten Datensatzes, nur für Detailansicht (gtab_change) verfügbar &$gresult: Zeiger auf Ergebnis der letzten Datenbank-Abfrage (siehe get_gresult()) die Darstellung des neuen Menüpunktes erledigt. festlegt, welche JavaScript-Anweisung(en) oder -Funktion(en) bei Auswahl des neuen Menüpunktes ausgeführt werden soll(en). Dabei können Information mittels versteckter HTML-Formularelemente (hidden) im HTML-Objekt „span id=“myExtForms““ an LIMBAS zurückgegeben werden. Dafür sind die pop_*-Menüfunktionen aus der Datei ./limbas_src/lib/context.lib zu verwenden. Genauere Einstellungen für die Darstellung sowie die JavaScript-Anweisungen/Funktionen sind der verwendeten Funktion als Parameter zu übergeben. die erstellte Funktion über die folgende Zuweisung einer Tabelle und einem Menü, in dem der neue Menüpunkt hinzugefügt werden soll, zugewiesen werden: if(!$gLmbExt[$menuToBeExtended][$gtabid]){ $gLmbExt[$menuToBeExtended][$gtabid] = $functionName; } Dabei entspricht $gtabid der Tabellen-Id der Tabelle, für die der Menüpunkt hinzugefügt werden soll $menuToBeExtended einem der folgenden Werte, welche das zu erweiternde Menü angeben: „menuChangeCInfo“ → Menüpunkt wird dem [Datei]→[Info]-Menü der Bearbeitungs- und Detailansicht hinzugefügt „menuChangeCContext“ → Menüpunkt wird dem [Datei]-Menü der Bearbeitungs- und Detailansicht hinzugefügt „menuChangeCDisplay“ → Menüpunkt wird dem [Ansicht]-Menü der Bearbeitungs- und Detailansicht hinzugefügt „menuChangeCExtras“ → Menüpunkt wird dem [Extras]-Menü der Bearbeitungs- und Detailansicht hinzugefügt „menuChangeCReport“ → Menüpunkt wird dem [Extras]→[Berichte]-Menü der Bearbeitungs- und Detailansicht hinzugefügt „menuChangeItems“ → Menüpunkt wird dem Hauptmenü der Bearbeitungs- und Detailansicht hinzugefügt „menuChangeIcons“ → Menüpunkt wird der Symbolleiste der Bearbeitungs- und Detailansicht hinzugefügt „menuListCInfo“ → Menüpunkt wird im Kontextmenü der Listenansicht dem [Info]-Menü hinzugefügt „menuListCContext“ → Menüpunkt wird dem Kontextmenü der Listenansicht hinzugefügt „menuListCDisplay“ → Menüpunkt wird dem [Ansicht]-Menü der Listenansicht hinzugefügt „menuListCExtras“ → Menüpunkt wird dem [Extras]-Menü der Listenansicht hinzugefügt „menuListCReport“ → Menüpunkt wird dem [Extras]→[Berichte]-Menü der Listenansicht hinzugefügt „menuCalExtras“ → Menüpunkt wird dem [Extras]-Menü der Kalenderansicht hinzugefügt „menuDMSExtras“ → Menüpunkt wird dem [Extras]-Menü des Filemanagers hinzugefügt $functionName der Funktion für die Darstellung des neuen Menüpunktes Example: function MyExt_MenuExtras($gtabid,$formid,&$gresult){ $toDoOnClick = "document.getElementById('myExtForms').innerHTML = '<input type=hidden id=myExtForms_testme name=myExtForms[test]>';\ document.getElementById('myExtForms_testme').value='".$gresult[$gtabid][2][0]."';send_form(1);\""; pop_line(); pop_menu2("menuItemText",null,null,null,"cursor:pointer", $toDoOnClick); } if(!$gLmbExt["menuListCExtras"][3]){ $gLmbExt["menuListCExtras"][3] = "MyExt_MenuExtras"; } if($myExtForms["test"]){ lmb_alert($myExtForms["test"]); } Das Beispiel erzeugt einen neuen Menüpunkt im Menü „Extras“ der Listenansicht für die Tabelle mit der ID „3“, welcher das Abfrage-Ergebnis des Feldes mit der ID 2 an das Skript (LIMBAS) zurücksendet. LIMBAS zeigt darauf das Ergebnis in einem eigenem Dialog-Fenster an.