Ergebnis 1 bis 5 von 5

Thema: Load- und Savecallback bei einem Feld mit "Schreibschutz"

  1. #1
    Contao-Fan Avatar von Michael
    Registriert seit
    19.06.2009.
    Beiträge
    479

    Standard Load- und Savecallback bei einem Feld mit "Schreibschutz"

    Ich lasse mir in der DCA einen Wert "Alterskategorie" über einen Load- und Savecallback anhand des Feldes "Jahrgang" berechnen. Nun möchte ich, dass der BE-User den Wert "Alterskategorie" nur sehen kann, aber weil er ja berechnet wird nicht verändern kann.
    Mit disabled oder readonly erreiche ich zwar dies, aber wenn der Jahrgang oder die Bedingung für die Alterskategorie geändert werden, klappen die Callbacks auch nicht mehr.
    Wie kann ich beides erreichen? Besten Dank im Voraus für einen Tipp!
    Contao ist echt !

  2. #2
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Hi,

    schau dir mal den label_callback an, der eignet sich hervorragend für so eine Berechnungsgeschichte mit Ausgabe.
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

  3. #3
    Contao-Fan Avatar von Michael
    Registriert seit
    19.06.2009.
    Beiträge
    479

    Standard

    Verständnisfrage: bezieht sich der label_callback nicht nur auf die Darstellung in der Liste? Ich möchte ja ein Feld "disabled" stellen, wenn der Datensatz bearbeitet wird.
    Contao ist echt !

  4. #4
    Contao-Fan Avatar von Michael
    Registriert seit
    19.06.2009.
    Beiträge
    479

    Standard

    Habe mir folgende Logik überlegt, leider funktioniert diese nicht Beim Load_callback das Feld auf disabled = true setzen und beim Save_callback auf disabled = false setzen:
    PHP-Code:
    public function loadCallbackKat($value, \DataContainer $dc)
        {    
            
    $objKat = \EventKatModel::findByPk($value);

            
    $GLOBALS['TL_DCA']['tl_persson']['fields']['kat']['eval']['disabled'] = true;

            return 
    $objKat->name;
        } 
    PHP-Code:
     public function saveCallbackKat($value, \DataContainer $dc)
        {
            
    $katObj = \EventKatModel::findByNameAndPid($value$dc->activeRecord->pid);

            
    $GLOBALS['TL_DCA']['tl_person']['fields']['kat']['eval']['disabled'] = false;

            return 
    $katObj->id;
        } 
    Beim Load_callback funktioniert dies wunderbar, das Feld wird berechnet und disabled = true. Aber das Speichern funktioniert dann immer noch nicht, weil das Feld wahrscheinlich disabled = true bleibt.
    Contao ist echt !

  5. #5
    Contao-Urgestein Avatar von the_scrat
    Registriert seit
    24.02.2010.
    Ort
    Augsburg
    Beiträge
    2.051
    User beschenken
    Wunschliste

    Standard

    Nutz doch einfach den Label_callback zur Ausgabe der Berechnung, dann sparst du dir irgendwelche Felder mit disabled etc
    Und der callback ist nicht nur für die Listendarstellung, sonst hätte ich ihn ja nicht vorgeschlagen;-)
    Isotope nutz den z.B. Um die Adressdaten anzuzeigen


    Gesendet von meinem iPhone mit Tapatalk
    Programmers don't comment their code. It was hard to write, it should be hard to understand...

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •