Zum Inhalt springen

Editierung nach einmaligem Eintrag sperren

Erstellt am 30. Juli 2013 · 3 Antworten · letzte Antwort am 1. August 2013

Tags: TYPO3 6.x, Frage

kingmar ·

Hallo Leute,

ich habe eine Erweiterung die Zahlen von 1-10 in einer Tabelle ausgibt. Diese können angeklickt werden und hier kann dann z.B. ein Name in ein Textfeld eingetragen werden. Ist in dem Feld Name, etwas eingetragen worden, soll in dem Feld keine weitere Editierung möglich sein (also textbox von enable auf disable). Es soll also nur noch der Name angezeigt werden, welcher eingetragen wurde. Es soll also keine weitere Editierung über das Frontend möglich sein, außer als Admin.

Kann mir hier jemand unter die Arme greifen?

cephei ·

Also der Wert in der DB ist am Anfang leer.
Wenn du jetzt den Namen speicherst musst du nur validieren ob das Feld leer ist. Wenn es leer ist, dann schreibst du den neuen Wert in die DB.

1. Formular senden
2. DB select mit bisherigen Weten
3. a) if empty then -> neuer Wert eintrageb
b) if !empty then -> nichts eintragen und beim template das feld mit "disabled" ausgeben, dann kann auch gleich nichts mehr am Wert geändert werden.

kingmar ·

Was ist damit genau gemeint?

1. Formular senden:
Bedeutet das, dass einfach nur das erste editieren?

2. DB select....
Wie genau mache ich einen solchen select?

3. Dies kommt in die edit action oder wie?
Wie gebe ich beim Template das Feld denn genau mit disabled aus?
Habe eine Action geschrieben, die mir eine Tabelle mit den einzelnen Zahlen ausgibt. Wenn man auf diese klickt wird das edit Template aufgerufen, dies wurde automatisch mit dem Extension Builder erstellt und greift auf folgedes zu:

<f:render partial="Zahlen/FormFields" arguments="{zahl:zahl}" />
	<f:form.submit value="Speichern" />

Also kann ich dieses auch rausnehmen um nicht auf Partials zurückzugreifen und könnte hier dann eigene FormFields einfügen, wie z.B.

<label for="zahl">
	<f:translate key="tx_zahlen_domain_model_zahl.zahlnummer" /> <span class="required"></span>
</label><br />
	<f:form.textfield property="zahl" disabled="disabled"/><br />

Kann man das so realisieren?