Ergebnis 1 bis 3 von 3

Thema: DCA - Formular-Value gleichzeitig in 2 Tabellenspalten speichern

  1. #1
    Contao-Nutzer
    Registriert seit
    28.07.2012.
    Beiträge
    27

    Standard DCA - Formular-Value gleichzeitig in 2 Tabellenspalten speichern

    Hallo liebe Leutz,

    ich möchte gern, dass ein Wert, der in ein Formularfeld eingegeben wurde, nicht nur in der Tabellenspalte gespeichert wird, zu der das Formular "gehört", sondern auch parallel in einer anderen Spalte. So dass immer in zwei Spalten das gleiche steht.

    Hintergrund:

    Wunsch ist eine Hierarische View.
    In den Tabellen sind aber weder die Spalten "pid" noch "sorting" vorhanden.
    Diese habe ich hinzugefügt.
    "pid" muss jetzt aber immer den gleichen Wert haben, wie eine andere Spalte des Datensatzes.
    Ich möchte aber nicht, dass man beim erstellen eines neuen Datensatzes den Wert zweimal eintragen muss, sondern dieser automatisch in beide Spalten übernommen wird.

    Ich habe es mit 'default' probiert, weiß allerdings nicht, wie ich da den Wert aus einen anderen Formularfeld rein bekomme.

    PHP-Code:
    'id_manufacture' => array
            (
                
    'label'                   => &$GLOBALS['TL_LANG']['tl_type']['id_manufacture'],
                
    'exclude'                 => true,
                
    'search'                  => false,
                
    'inputType'               => 'select',
                
    'foreignKey'              => 'tl_manufacture.name',
                
    'eval'                    => array('mandatory'=>true'includeBlankOption'=>true),
            ),
    'pid' => array
            (
                
    'default'                  => 'id_manufacture' //funktioniert natürlich nicht ;0)
            

    Ich möchte auch nicht mit Triggern in der DB rumwursten.

    Hat da jmd von Euch eine einfache Lösung?

    (von mir aus auch eine Schwierige^^)

    Ich danke Euch schonmal für Eure Mühe.

    Greetz Undaare
    Geändert von Undaare (13.08.2012 um 17:09 Uhr)

  2. #2
    Contao-Nutzer
    Registriert seit
    28.07.2012.
    Beiträge
    27

    Standard

    Ich bin jetzt folgendermaßen vorran gekommen:
    Ich ändere den Value von pid über den save_callback.

    PHP-Code:
    'pid' => array
            (
                
    'inputType'                  => 'text'// mit diesen Wert funktioniert das Speichern, das Formularfeld wird aber angezeigt - ohne inputType wird garnicht erst in der DB gespeichert
                
    'save_callback'              => array
                    (
                        array(
    'tl_type''setPidValue')
                    )
            )

        public function 
    setPidValue($value$dc)
        {
            return 
    $dc->activeRecord->id_manufacture;
        } 
    Ich bekomme es jedoch nicht hin, dass das Feld "pid" in der Formularansicht ausgeblendet ist und trotzdem der Wert gespeichert wird.

    Hat da jemand eine Lösung?

    Greetz Undaare


    Sollte ich dafür einen neuen Thread eröffnen?

  3. #3
    Contao-Fan Avatar von melzebub
    Registriert seit
    21.05.2010.
    Ort
    Lüneburg
    Beiträge
    292
    User beschenken
    Wunschliste

    Standard

    und wenn du pid aus der palette rausnimmst und den save_callback in der anderen spalte machst, in der der wert eingetragen wird? Dann im Savecallback direkt die db query rein und gut is.

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
  •