Zum Inhalt springen

eigene Extension Backendformular dynamisch ändern, möglich ?

Erstellt am 2. Januar 2008 · 9 Antworten · letzte Antwort am 10. März 2008

Tags: Frage

scary_movie ·

Hallo,

ich arbeite zur Zeit an einer eigenen Extension. Hierbei stehe ich nun vor folgenden Problem:

- Kategorien werden über das BE angelegt
- Nun erstellt man ein neuen Beitrag und wählt die
zugehörige Kategorie aus :
- Nun soll sich je nach Auswahl das Formular
dynamisch anpassen:
- bsp. Felder ein/ausblenden

Wie kann man so etwas realisieren, muss ich hierzu auf Typo3 Boardmittel verzichten und muss den HTML/PHP Code für die Formulare selber schreiben ?
Bisher hatte ich nur Extensions welche keine dynamische Formularanpassung im BE hatten.

Extension Dynaflex:
Kann man soetwas damit denn realisieren ? Ich habe mir einmal die bsp. Anwendung angesehen, leider ist es dort so das die Werte welche eingebeben werden als XML(Flexform) abgelegt werden. Die Werte müssten allerdings in die Entsprechende Tabelle eingetragen werden.

Booley ·

Hi,

ich suche auc nach einer Möglichkeit, BE-Felder über eine Kategorie auszublenden. Hast du schon eine Lösung gefunden?

Gruß
Booley

Desmond ·

Ich habe ein ähnliche Aufgabe: Eine multiple Select-Box mit Hauptkategorien. Darunter eine Multiple Select-Box mit Unterkategorien welche die Unterkategorien der ausgewählten Hauptkategorien anzeigen.

Ist es irgendwie möglich ein AJAX-Script in das Listenmodul einzubinden? In anderen Foren habe ich gelesen, dass man solche Dinge über ext_tables.php konfigurieren kann. Aber nirgens war eine wirklich brauchbare Lösung oder Idee dabei.

Spyker ·

eine Einfach Auswahl... zum ausblenden von Feldern in Abhängigkeiten von einem Feld... ist mittels der Types möglich.

Schaut dafür einfach mal in die Core API

Desmond ·

Danke Spyker

Aber wenn ich die Core API richtig verstanden habe ist dies nicht das was ich suche. Denn: Ich habe eine Select Box mit Hauptkategorien (Mehrfachauswahl möglich) und 2 Select Boxen in Abhängikeit davon ebenfalls mit Mehrfachauswahl und eine weitere ohne Mehrfachauswahl. Im Moment sind werden halt auch bei den Unterkategorien alle angezeigt, was später dann zu einer sehr langen Liste führen wird. Weiter sind Konstellationen möglich (wenn nicht sogar vorprogrammiert, dass Haupt- und Unterkategorien ausgewählt werden, welche nicht zusammenpassen.

Weiter sind im selben Formular 2 Radiobuttons welche entweder ein Textfeld oder ein Filefeld anzeigt. Dies ist im Moment über displayCond geloest. Funktioniert zwar, jedoch unschön da das Formular immer gespeichert werden muss, bevor was ändert.

Es muss doch irgenwie möglich sein, die Daten per AJAX zu ändern? TYPO3 arbeitet auch sonst überall mit AJAX.

Desmond ·

Ist zwar nicht AJAX, erfüllt aber fast den selben Zweck: "requestUpdate" in der "ctrl" Section.

Jedenfalls ist dass. das einzig brauchbare was ich bis jetzt gefunden habe.

Desmond ·

Jetzt habe ich ein Feld den Type "User" gegeben... dann neben dem eigentlichen Feld noch Javascript reingeladen... funktioniert einigermassen. Jedoch ziemlich dirty.

Wenn also jemand sonst noch eine Idee hat immer her damit. Sonst warte ich mal auf 4.2 Vielleicht ist ja dort etwas mehr in die Richtung drin.

Booley ·

Hallo Desmond,

ich bastel noch an meinem Problem, dass ich auf Grund von Feldinhalten gewisse andere Felder ausblenden will.

Das "requestUpdate" habe ich jetzt hin bekommen. Das BE veranlasst jetzt ein Update, wenn ich bei der Datenerfassung im BE eine Checkbox aktiviere.

Ich weiß auch schon, wie ich die Felder ausblenden kann. Ich würde halt im "types"-Eintag die "showitem"-Einträge austauschen.

Jetzt fehlt mir "nur noch" die letze Kleiningkeit:
Wie kann ich den Inhalt der Checkbox auslesen?

Also quasi:

if (checkbox == "1") {
  $TCA["tx_dgsimmo_obj"]["types"]["0"] = Array("showitem" => "hidden;;1;;1-1-1, objnr, ... //neue Anzeigeliste
}

Kannst du mir sagen, wie ich an den Inhalt der Checkbox komme?

Gruß
Booley