Ergebnis 1 bis 6 von 6

Thema: Rocksolid Custom Elements | radiobunnton statt checkboxen

  1. #1
    Alter Contao-Hase
    Registriert seit
    20.03.2010.
    Ort
    Hannover
    Beiträge
    1.041

    Frage Rocksolid Custom Elements | radiobunnton statt checkboxen

    Hallo,
    für eine Art Speiseplan hab ich mir ein Inhaltselement gebaut, dass 6 Felder erstellt.

    In jedem Feld ist etwas Text und dann eine Auswahl für 4 Icons via checkbox.

    Nun besteht jedoch der Wunsch, dass man nur eines der Icons pro Feld auswählen kann, somit müßte ich die Checkboxen gegen ein Radio Button tauschen.
    Das hat bisher nicht geklappt, wenn man den "inputType" nur gegen "radio", "radiobox" oder "radiobutton" austauscht.
    Hat jemand eine Idee wie ich das richtig anstelle?

    Leider hab ich auch in der Doku die betreffende Stelle nicht gefunden.

    Danke vorab für eure Mühe.

    PHP-Code:
    return array(
        
    'label' => array('text'),
        
    'types' => array('content'),
        
    'contentCategory' => 'texts',
        
    'standardFields' => array('cssID'),
        
    'fields' => array(
            
    'boxes' => array(
                
    'label' => array('Tag'''),
                
    'elementLabel' => '%s. Spalte',
                
    'inputType' => 'list',
                
    'minItems' => 1,
                
    'maxItems' => 6,
                
    'fields' => array(
                    
    'text' => array(
                        
    'label' => array('Text'''),
                        
    'eval' => array('rte' => 'tinyMCE'),
                        
    'inputType' => 'textarea',
                    ),
                    
    'ingedienc' => array(
                        
    'label' => array('Inhaltsstoffe'''),
                        
    'inputType' => 'textarea',
                    ),
                    
    'iconGreen' => array(
                       
    'label' => array('grün''icon 1'),
                       
    'inputType' => 'checkbox',
                       
    'eval' => array('tl_class' => 'w50'),
                    ),
                    
    'iconYellow' => array(
                       
    'label' => array('gelb''icon 2'),
                       
    'inputType' => 'checkbox',
                       
    'eval' => array('tl_class' => 'w50'),
                    ),
                    
    'iconRed' => array(
                       
    'label' => array('rot''icon 3'),
                       
    'inputType' => 'checkbox',
                       
    'eval' => array('tl_class' => 'w50'),
                    ),
                    
    'iconVegan' => array(
                       
    'label' => array('vital''icon 4'),
                       
    'inputType' => 'checkbox',
                       
    'eval' => array('tl_class' => 'w50'),
                    ),
                ),
            ),
        ),
    ); 

  2. #2
    Contao-Nutzer
    Registriert seit
    13.05.2016.
    Beiträge
    52

    Standard

    Was genau hat denn nicht geklappt? Bekommst Du denn noch eine Ausgabe im Backend damit? Ansonsten melde Dich mal beim Rocksolid-Support, die sind meist sehr schnell und zuvorkommend.

  3. #3
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.092
    Partner-ID
    10107

    Standard

    So
    PHP-Code:
                    'iconGreen' => array(
                       
    'label' => array('grün''icon 1'),
                       
    'inputType' => 'checkbox',
                       
    'eval' => array('tl_class' => 'w50'),
                    ),
                    
    'iconYellow' => array(
                       
    'label' => array('gelb''icon 2'),
                       
    'inputType' => 'checkbox',
                       
    'eval' => array('tl_class' => 'w50'),
                    ),
                    
    'iconRed' => array(
                       
    'label' => array('rot''icon 3'),
                       
    'inputType' => 'checkbox',
                       
    'eval' => array('tl_class' => 'w50'),
                    ),
                    
    'iconVegan' => array(
                       
    'label' => array('vital''icon 4'),
                       
    'inputType' => 'checkbox',
                       
    'eval' => array('tl_class' => 'w50'),
                    ), 
    definierst du nur einzelne Checkboxen für die Variablen 'iconGreen', 'iconYellow', 'iconRed' und 'iconVegan'. Dein anliegen hört sich aber so an, wie wenn du eine einzelne Variable haben willst und deren wert wird durch eine Radio Button Group bestimmt.

    Wie du das machst, kannst du dir ja im Core ansehen. Ein Beispiel:
    PHP-Code:
    'foo' => array(
        
    'label' => ,
        
    'inputType' => 'radio',
        
    'default' => 'lorem',
        
    'options' => array(
            
    'lorem' => 'Lorem',
            
    'ipsum' => 'Ipsum',
            
    'dolor' => 'Dolor',
            
    'sit'   => 'Sit'
        
    )
    ), 
    Die Übersetzung kannst du auch mit 'reference' angeben. Beispiel: https://github.com/contao/core/blob/..._user.php#L286

  4. #4
    Alter Contao-Hase
    Registriert seit
    20.03.2010.
    Ort
    Hannover
    Beiträge
    1.041

    Standard

    Danke @ Spooky

    Letzten Endes mache ich nichts anderes, als im FE abzufragen ob einer dieser Checkboxen/Variablen gesetzt ist und gebe entsprechend ein Icon aus.

    Ich werd mir das mal anschauen.

  5. #5
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.092
    Partner-ID
    10107

    Standard

    Zitat Zitat von Samuell Beitrag anzeigen
    Letzten Endes mache ich nichts anderes, als im FE abzufragen ob einer dieser Checkboxen/Variablen gesetzt ist und gebe entsprechend ein Icon aus.
    Das machst du dann mit
    PHP-Code:
    if( $this->foo == 'lorem' )
    {
        
    // …
    }
    elseif( 
    $this->foo == 'ipsum' )
    {
       
    // …
    }
    … 
    Oder einem switch.

  6. #6
    Alter Contao-Hase
    Registriert seit
    20.03.2010.
    Ort
    Hannover
    Beiträge
    1.041

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Das machst du dann mit
    PHP-Code:
    if( $this->foo == 'lorem' )
    {
        
    // …
    }
    elseif( 
    $this->foo == 'ipsum' )
    {
       
    // …
    }
    … 
    Oder einem switch.
    Schon klar. Das ist auch kein Thema :-)

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
  •