Ergebnis 1 bis 4 von 4

Thema: DCA abhängig ob neuer Datensatz erstellt oder vorhandener bearbeitet wird.

  1. #1
    Contao-Nutzer Avatar von aaronl
    Registriert seit
    20.06.2009.
    Beiträge
    111

    Standard DCA abhängig ob neuer Datensatz erstellt oder vorhandener bearbeitet wird.

    Hallo!

    Gibt es eine Möglichkeit im Backend das DCA zu verändern je nachdem ob gerade ein neuer Datensatz angelegt wird oder ein vorhandener bearbeitet, bzw. der neu erstellte wegen eines Fehlers (Pflichtfeld vergessen, etc) noch einmal angezeigt wird?


    Konkret geht es darum, dass ich beim Erstellen gerne einen Fileuploader (z.B. den Fineuploader, https://github.com/terminal42/contao-fineuploader ) verwenden will, beim Bearbeiten dann aber den normalen Filetree haben möchte.

    Vielen Dank!

  2. #2
    Contao-Urgestein
    Registriert seit
    29.10.2009.
    Ort
    Magdeburg
    Beiträge
    2.020
    Partner-ID
    626
    User beschenken
    Wunschliste

    Standard

    Contao unterscheidet dies anhand des tstamp Feldes. Ist ein tstamp gespeichert, so handelt es sich um ein Eintrag zum Bearbeiten. Mit einem callback (onload_callback) könnte man dann den Widget-Typ ändern.

  3. #3
    Contao-Nutzer Avatar von aaronl
    Registriert seit
    20.06.2009.
    Beiträge
    111

    Standard

    Danke!

    Ich habs jetzt sogar so gemacht, dass ich abfrage ob das Feld für die Datei leer ist und in Abhängigkeit davon das DCA überschreibe.


    PHP-Code:
    //Select uploader or filetree
    function fileSelector(DataContainer $dc)
    {
        if(!
    $dc->activeRecord)
        {
            
    $dc->activeRecord $this->Database
                                        
    ->prepare("SELECT * FROM tl_xyz WHERE id=?")
                                        ->
    execute($dc->id);
        }
        
    //print_r($dc->activeRecord->pdf);
        
        // Wenn keine PDF gespeichert ist, dann den Uploader anzeigen
        
    if($dc->activeRecord->pdf==NULL)
        {
            
    /**/
            
    $GLOBALS['TL_DCA']['tl_xyz']['fields']['pdf']['inputType'] = 'fineUploader';
            
    $GLOBALS['TL_DCA']['tl_xyz']['fields']['pdf']['eval'] = array
                (
                    
    'uploadFolder' => 'files/uploads'// Upload path (destination folder)
                    
    'uploaderLimit' => 1// Maximum files that can be uploaded
                    
    'extensions' => 'pdf'// Allowed extension types
                    
    'maxlength' => 2048000// Maximum file size
                    
    'doNotOvewrite' => true // Do not overwrite files in destination folder

                    // You can also use the default features of fileTree widget such as:
                    // multiple, orderField, isGallery, isDownloads
                
    );
        }

    Im standard DCA ist der Filetree definiert.

  4. #4
    Contao-Nutzer Avatar von Tastaturberuf
    Registriert seit
    14.03.2011.
    Ort
    Berlin
    Beiträge
    197
    User beschenken
    Wunschliste

    Standard

    Die Idee ist ziemlich interessant.
    Tastaturberuf | Code with ♥ and Contao.

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
  •