Zum Inhalt springen

Eingabefelder und Abhängigkeiten

Erstellt am 21. März 2003 · 6 Antworten · letzte Antwort am 24. März 2003

Tags: Frage

maxhb ·

Hi!
Ich habe eine kleien Extension geschrieben, mit der man Fahrzeuge verwalten kann. Nun besitzen verschiedene Fahrzeuge zwar viele Gemeinsamkeiten, aber einige Unterschiede gibt's dann eben doch. Z.B. könnte an einem PKW eine Anhängerkupplung vorhanden sein, während so etwas bei einem Motorrad wohl nicht geht 😉
Da ich alle Merkmale eines Fahrzeugs in einer Tabelle zusammenfasse (ist das ein Fehler?) werden mir aber bei jedem Fahrzeugtyp alle Eingabefelder angezeigt und genau das möchte ich eben nicht.
Wer weiss, wie man erreichen kann, dass nur relevante Eingabefelder angezeigt werden (wie könnte man die überhaupt kenntlich machen?), wenn man ein entsprechendes Element in seine Website integriert?

Wünsche ein schönes WE
maxhb

shOrt ·

Ich weiss net genau ob du nun das Frontend oder Backend meinst?

Backend:
Schau dir mal das Backend Programming Tutorial auf Typo3 an (Kapitel 1.5.1). Typo bietet dir die Möglichkeit, in Abhängigkeit EINES Feldes der Datenbank bestimmte andere Felder bei der Eingabe ein/auszublenden... Hoffe das hilft dir...

Frontend:
wie genau hast du denn den Typ des Fahrzeugs gespeichert? Als Integer? Wenn ja, dann kannst du es in etwa so rendern

vehicle = CASE
vehicle.key.field = type <-- dies ist das Typfeld aus der DB
vehicle.1 = COA
vehicle.1 { hier das Vehikel mit Typ 1 rendern }
vehicle.2 = COA
vehicle.2 { hier das Vehikel mit Typ 2 rendern }
...
maxhb ·

Hi!

shOrt schrieb

Ich weiss net genau ob du nun das Frontend oder Backend meinst?

Ups, sorry, daran hatte ich nicht gedacht ;-)
Bei mir betrifft es das Backend und Dein Verweis auf das Backend-Programming-Tutorial ist super hilfreich. Im Prinzip klappt jetzt alles ganz gut, nur eine Kleinigkeit will nicht recht klappen.

Die verschiedenen Typen von Fahrzeugen habe ich als eigene Tabelle mit entsprechendem Querverweis angelegt. In Abhängigkeit davon lasse ich die "passenden" Eingabefelder anzeigen. Wenn jetzt aber jemand einen neuen typ anlegt, wie kann ich sicherstellen, dass eine bestimmte Default-Anzeige benutzt wird?

Der Quellcode sieht ja ungefähr so aus:

...
"ctrl" => Array(
	"type" => "kfztyp",
)
...
"types" => Array (
	"0" => Array("showitem" => "hidden;;1;;1-1-1, Kennzeichen, PS, Anhaengerkupplung"),
	"1" => Array("showitem" => "hidden;;1;;1-1-1, Kennzeichen, PS"),
	"2" => Array("showitem" => "hidden;;1;;1-1-1, Kennzeichen, PS, Verdeck"),
)
...

Wie kann ich also konfigurieren, welche Felder bei einem neuen KfzTyp mit der ID 3 oder höher angezeigt wird? Bzw. es wäre toll, wenn ich sagen könnte, dass alle Felder angezeigt werden sollen, bis auf die Fälle, in denen ich explizit die Anzeige einschränke.

Merkwürdiger Nebeneffekt meienr Änderungen ist übrigens, dass gelöschte Fahrzeuge im Backend weiterhin angezeigt werden, obwohl inder Datenbank eindeutig deleted=1 steht ?🙁

Falls jemand eine Lösung weiss würde ich mich natürlich freuen ;-)

Ciao
maxhb

maxhb ·

Hi!
Was das Problem mit dem Löschen betrifft gibt es eine einfache Lösung:

"ctrl" => Array(
		"delete" => "deleted",
)

Kleine Zeile, grosser Effekt 😃

maxhb ·
shOrt schrieb

Was zeigt er denn an, wenn du als Typ 3 angibst?

Für einen Typ 3 und alle weiteren Typen nimmt er die selben Einstellungen, wie für Typ 1.

shOrt ·

Dann mach doch den Typ 1 als Typ der alles anzeigt, und vergebe diesen Typ einfach nicht. Quasi: Typ 1 = default, Typ 2 = Auto, Typ 3 = Dreirad, Typ 4 = Pogo Stick.....