2 Stimmen

Einfügen relationaler Daten in eine Nachschlagetabelle

Ich bin dabei, ein Formular (mit FuelCMS) zu erstellen, das eine Nachschlagetabelle enthält, und die Nachschlagetabelle hat ein Feld, das gleichzeitig mit der Beziehung eingefügt werden muss (Abbildung 1).

Mit einem Modell innerhalb meines Moduls habe ich das Formular zum Einfügen der Daten fertiggestellt, ich habe ein Steuerelement (Abbildung 2), um die Beziehung zwischen den beiden Tabellen auszuwählen, und hier kommt meine Frage. Ich muss ein Popup-Fenster anzeigen (wie das, wenn man auf die Schaltfläche "ADD" oder "EDIT" drückt), das es dem Benutzer ermöglicht, den Wert des Feldes "objetivo" (Abbildung 1) zum Zeitpunkt der Zuweisung von "Hitos" zu den "indicadores" einzugeben.

Wie lässt sich dies am besten bewerkstelligen? Kann ich eine JS-Datei an das Formular aus dem Modul anhängen, um den Klick auf die Schaltfläche zu erfassen und das Pop-up anzuzeigen? Gibt es bereits eine andere, bessere Möglichkeit, diese Aufgabe zu erfüllen?

Ich hoffe, ich habe mich klar ausgedrückt. Wenn nicht, sagen Sie es mir bitte und ich werde versuchen, mich besser zu erklären.

Danke :)

DB Tables Abbildung 1

FuelCMS admin Abbildung 2

3voto

SubniC Punkte 9087

Dank der freundlichen Unterstützung des FuelCMS-Teams konnte ich die zuvor beschriebene Situation lösen, um das Ziel zu erreichen, sollten Sie die folgenden Schritte befolgen:

  • Fügen Sie eine Javascript-Datei zur Modulkonfiguration hinzu (fuel/modules/MODULE_NAME/config/MODULE_NAME_fuel_module.php)
  • Verwenden Sie die Javascript-Hooks 'selectionAdded' und 'selectionRemoved', um das Popup zu starten (FuelCMS verwendet jqmodal als Popup) übergeben die Funktionen als Parameter ein Array "vals", das die ID der ausgewählten Elemente enthält.
  • Fügen Sie eine AJAX-Anfrage in den Popup-Code ein, um das Formular erneut aufzurufen
  • Verarbeiten Sie das Formular und halten Sie die Werte für die spätere Speicherung in der Datenbank oder manipulatión.

Es könnte ein bisschen schwierig sein, wenn man eine komplexe Logik braucht, aber es ist ein effektiver Weg, es zu tun :)

Nochmals TAHNKS an die FuelCMS-Support-Leute, ich hoffe, das hilft jemandem.

Mit freundlichen Grüßen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X