Ergebnis 1 bis 2 von 2

Thema: BE tl_calendar_events select-Feld soll Auswirkung auf andere Felder haben

  1. #1
    Contao-Nutzer
    Registriert seit
    29.03.2012.
    Beiträge
    62

    Standard BE tl_calendar_events select-Feld soll Auswirkung auf andere Felder haben

    Hallo zusammen,

    ich habe eine ctlg_kurse in der verschiedene Kurstypen erstellt werden (mit ein paar Standardangaben wie z.B. Beschreibung des Kurses).
    in jedem tl_calendar_events wird aus ctlg_kurse der entsprechende Kurstyp per select-Feld geholt und die zugehörige ID gespeichert, so dass ich im Event-Template die Standardausgaben ausgeben kann.

    PHP-Code:
    $GLOBALS['TL_DCA']['tl_calendar_events']['fields']['kurstitelID'] = [
        
    'inputType' => 'select'
        
    'foreignKey' => "ctlg_kurse.kurstitel",
        
    'eval'      => ['mandatory'=>true'tl_class' => 'clr''includeBlankOption' => true'blankOptionLabel' => 'Bitte wählen ...' ], 
        
    'sql'       => "int(10) NOT NULL default '0'"
    ]; 
    In der ctlg_kurse werden auch weitere Standardwerte gesetzt (z.B. Kursleitung, Zielgruppe, Fortbildungsstunden), die jedoch für einzelne Termine veränderbar sein sollen.

    Bisher habe ich es so gelöst, dass es eine Checkbox gibt "nimm den Wert aus ctlg_kurse" und ein Feld "für dieses Event geltender Wert"

    PHP-Code:
    $GLOBALS['TL_DCA']['tl_calendar_events']['fields']['leitungStandard'] = [
        
    'label'   => ['Leitung (Standard)''Die in der Kursliste hinterlegte Information wird ausgegeben.'],
        
    'inputType' => 'checkbox'
        
    'default' => '1',
        
    'eval'      => ['tl_class' => 'clr w50'], 
        
    'sql'       => "char(1) NOT NULL default ''"
    ]; 
    $GLOBALS['TL_DCA']['tl_calendar_events']['fields']['leitung'] = [
        
    'label'   => ['Leitung''Speziell für diese Veranstaltung (überschreibt die Standardangabe)'],
        
    'search' => true,
        
    'inputType' => 'text'
        
    'eval'      => ['maxlength'=>255'tl_class' => 'w50'], 
        
    'sql'       => "text NULL"
    ]; 
    Die Redakteure würden gerne an der Stelle sehen, was als Standardwert hinterlegt ist, um einfacher entscheiden zu können "Nimm Standard" oder "überschreibe Standard". Und da hänge ich....
    Gibt es eine Möglichkeit, die in ctlg_kurse hinterlegten Werte in tl_calendar_events in Abhängigkeit von dem select-Feld anzuzeigen?

    Ich hatte gedacht, ich könnte dazu ein weiteres Feld in tl_calendar_events mit
    HTML-Code:
    eval => ['readonly"=>true]
    anlegen und dort die Standard-Werte ausgeben lassen. Nur wie??? Dieser Wert müsste sich halt je nach Auswahl im select-Feld ändern.

    Ich hatte es versucht mit einem select-Feld und einem options_callback in Abhängigkeit von dem Selcet-Feld "kurstitleID". Aber das funktioniert nicht.

    PHP-Code:
    $GLOBALS['TL_DCA']['tl_calendar_events']['fields']['leitungStandardWert'] = [ 
        
    'exclude'   => true
        
    'inputType'   => 'select'
        
    'options_callback' => function() { 
               
    $array=array(); 
               
    $result $db->executeQuery("SELECT kursleitung FROM ctlg_kurse WHERE id ='$this->kurstitelID'")->fetch(); 
               while(
    $result->next()){  
                
    $array[]=$result->kursleitung
               } 
            return 
    $array
            
        }, 
           
    'eval'                    => array('readonly'=>true'mandatory'=>false'decodeEntities'=>true,'maxlength'=>255'includeBlankOption'=>true'tl_class'=>'clr'), 
        
    'sql'                     => "varchar(255) NOT NULL default ''"
    ]; 
    Hat jemand einen Tipp für mich?

  2. #2
    Contao-Urgestein Avatar von cliffparnitzky
    Registriert seit
    08.10.2010.
    Ort
    Lüneburg
    Beiträge
    2.450
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Mit einem load_callback kannst du dir einen Wert holen: https://docs.contao.org/dev/referenc...lds-field-load

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
  •