[Frage] Editierung nach einmaligem Eintrag sperren TYPO3-Version: 6.0.4

  • kingmar kingmar
    T3PO
    0 x
    17 Beiträge
    0 Hilfreiche Beiträge
    30. 07. 2013, 18:22

    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?


  • 1
  • hwt hwt
    Sternenflotten-Admiral
    0 x
    217 Beiträge
    0 Hilfreiche Beiträge
    30. 07. 2013, 19:00

    Hallo,

    du kannst dir eine eigene Funktion als userFunc erstellen, die das TCA entsprechend beeinflusst. Vgl. die Vorgehensweise unter http://www.auxnet.de/blog/blog-post/2007/08/17/typo3-eigene-labels-mit-label-userfunc.html

    Grüße!

  • cephei cephei
    Padawan
    0 x
    40 Beiträge
    1 Hilfreiche Beiträge
    30. 07. 2013, 19:42

    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.

    Diese Signatur ist in Ihrem Land leider nicht verfügbar.

  • kingmar kingmar
    T3PO
    0 x
    17 Beiträge
    0 Hilfreiche Beiträge
    01. 08. 2013, 11:14

    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:

    1. <f:render partial="Zahlen/FormFields" arguments="{zahl:zahl}" />
    2. <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.

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

    Kann man das so realisieren?

  • 1