Ergebnis 1 bis 3 von 3

Thema: Wie funktioniert der input_field_callback im MultiColumnWizard?

  1. #1
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.794

    Frage Wie funktioniert der input_field_callback im MultiColumnWizard?

    Wenn ich den input_field_callback im MultiColumnWizard benutze:
    PHP-Code:
    $GLOBALS['TL_DCA']['tl_content']['fields']['chesstable_markierungen'] = array
    (
        
    'label'                               => &$GLOBALS['TL_LANG']['tl_content']['chesstable_markierungen'],
        
    'exclude'                             => true,
        
    'inputType'                           => 'multiColumnWizard',
        
    'eval'                                => array
        (
            
    'tl_class'                        => 'long clr',
            
    'buttonPos'                       => 'middle',
            
    'buttons'                         => array
            (
                
    'new'                         => false,
                
    'copy'                        => false,
                
    'delete'                      => false,
                
    'move'                        => false,
                
    'up'                          => false,
                
    'down'                        => false
            
    ),
            
    'columnFields'                    => array
            (
                
    'rows' => array
                (
                    
    'label'                   => &$GLOBALS['TL_LANG']['tl_content']['chesstable_markierungen_rows'],
                    
    'exclude'                 => true,
                    
    'inputType'               => 'text',
                    
    'eval'                    => array('tl_class' => 'w50''style' => 'width:100%''mandatory' => false),
                ),
                
    'info' => array
                (
                    
    'label'                   => &$GLOBALS['TL_LANG']['tl_content']['chesstable_markierungen_info'],
                    
    'input_field_callback'    => array('tl_content_chesstable''getMarkierungen'),
                ),
            )
        ),
        
    'sql'                     => "blob NULL",
    ); 
    bekomme ich eine Fehlermeldung:
    Code:
    Argument 1 passed to tl_content_chesstable::getMarkierungen() must be an instance of Contao\DataContainer, instance of 
    MenAtWork\MultiColumnWizardBundle\Contao\Widgets\MultiColumnWizard given, called in /vendor/menatwork/contao-multicolumnwizard-bundle/src/Contao/Widgets/MultiColumnWizard.php on line 1103
    Ich habe schon überlegt, weil ich die Spalten (und Zeilen) sowieso alle dynamisch generieren muß, den columnsCallback des MCW zu benutzen. Aber da scheint der Code nur in eine Funktion ausgelagert zu sein.
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

  2. #2
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.942

    Standard

    Wie sieht denn Deine Implementierung der getMarkierungen aus? Ich nehme an, Du hast in der Definition einen DataContainer Type hint verwendet, bekommst aber eine MultiColumnWizard Instanz übergeben. Also entweder ohne oder mit korrigiertem Type hint probieren.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  3. #3
    Contao-Urgestein Avatar von Samson1964
    Registriert seit
    05.11.2012.
    Ort
    Berlin
    Beiträge
    2.794

    Standard

    PHP-Code:
    getMarkierungen(DataContainer $dc
    Mittlerweile bin ich dazu übergegangen, zum ersten Mal einen eigenen InputType zu programmieren. Das erscheint mir für mein Vorhaben besser geeignet. In System -> Einstellungen kann man per MCW mehrere Felder mit Werten vorbelegen. Im Inhaltselement sollen die vorgegebenen Felder verwendet und mit zusätzlichen Daten aus der tl_content verbunden werden. Der Aufbau soll etwa so aussehen:

    Einstellungen (Name der 3 Felder und zwei Datensätze als Beispiel, da MCW beliebig viele Datensätze hinzufügbar):
    Interner Name;Name im Backend;Zugewiesene Farbe
    up;Aufsteiger;ff0000
    down;Absteiger;00ff00

    Im Inhaltselement sollen die definierten Datensätze ausgegeben werden und der Anwender kann eine Aktion hinzufügen:
    Interner Name;Aktion
    up;xxxx
    down;yyyy

    Beim Erstellen eines Inhaltselements ist das Feld (der Blob) aus tl_content natürlich noch leer. Die definierten Datensätze aus den Einstellungen werden dann natürlich ohne Aktion ausgegeben. Ebenso kann es natürlich vorkommen, das im Blob mehr oder falsche Daten drin sind, als in den Einstellungen definiert sind. Dementsprechend soll dann auch die Darstellung des InputTypes aussehen.
    Ich glaube das geht mit dem MCW nicht.
    Viele Grüße
    Frank

    Seit Mai 2013 Fan von Contao
    Webmaster vom Deutschen Schachbund und Berliner Schachverband
    Mein Blog: Schachbulle
    Meine Erweiterungen bei GitHub
    Meine Videos auf YouTube: Playlist zur Contao-Programmierung/Einrichtung

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
  •