Contao-Camp 2024
Ergebnis 1 bis 6 von 6

Thema: Checkbox - wie komme ich im Frontend an die 'reference' ran?

  1. #1
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.849
    Contao-Projekt unterstützen

    Support Contao

    Standard Checkbox - wie komme ich im Frontend an die 'reference' ran?

    Hallo,

    rsce_bikeinfo_config.php
    PHP-Code:
            'biketypes' => [
                
    'label' => [
                    
    'de' => ['Radtypen','aus Fahrradtypen auswählen. Mehrfachauswahl ist möglich'],
                ],
                
    'inputType' => 'checkbox',
                
    'options' => [
                    
    'mtb-mechanic',
                    
    'mtb-electric',
                    
    'trakk-mechanic',
                    
    'trakk-electric',
                ],
                
    'reference' => [
                    
    'mtb-mechanic' => ['de' => 'Mountainbike mechanisch'],
                    
    'mtb-electric' => ['de' => 'Mountainbike E-Bike'],
                    
    'trakk-mechanic' => ['de' => 'Trakkingbike mechanisch'],
                    
    'trakk-electric' => ['de' => 'Trakkingbike E-Bike'],
                ],
                
    'eval' => [
                    
    'tl_class' => 'clr w50',
                    
    'multiple' => true,
                ],
            ], 
    rsce_bikeinfo.html5
    PHP-Code:
    <?php
        $btype 
    = [];
        foreach (
    deserialize($this->biketypestrue) as $biketype):
        if (
    $biketype) {
            
    $btype[] = $biketype '<br>';
        };
        endforeach;
    ?>

    <p class="p--info"><?php echo implode($btype?></p>
    Hiermit wird mir nur die 'options' ausgegeben (mtb-mechanic, ...) - wie aber komme ich an die Übersetzung, also die 'reference' (Mountainbike mechanisch,...) ran?
    Vielen Dank für die Hilfestellung
    Grüsse
    Bernhard


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

    Standard

    Als "reference" gibst du normalerweise eine Translation an, also zB &$GLOBALS['TL_LANG']['MSC']['biketypes']. Wenn du das als Translation hast, dann kannst du auch von überall darauf zugreifen.
    » sponsor me via GitHub or PayPal or Revolut

  3. #3
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.849
    Contao-Projekt unterstützen

    Support Contao

    Standard

    ... leider komme ich mit dieser Info nicht weiter.

    Ich passe es wie folgt an:
    PHP-Code:
            'biketypes' => [
                
    'label' => [
                    
    'de' => ['Radtypen','aus Fahrradtypen auswählen. Mehrfachauswahl ist möglich'],
                ],
                
    'inputType' => 'checkbox',
                
    'options' => [
                    
    'mtb-mechanic' => 'Mountainbike mechanisch',
                    
    'mtb-electric' => 'Mountainbike E-Bike',
                    
    'trakk-mechanic' => 'Trakkingbike mechanisch',
                    
    'trakk-electric' => 'Trakkingbike E-Bike',
                ],
                
    'eval' => [
                    
    'tl_class' => 'clr w50',
                    
    'multiple' => true,
                ],
            ], 
    Wie oben vermerkt, erhalte ich aktuell nur die Variable (nennt man das so?), also z.B. 'mtb-mechanic' , aber nicht 'Mountainbike mechanisch'.
    Wie komme ich in der Foreach-Schleife da ran?
    Grüsse
    Bernhard


  4. #4
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.849
    Contao-Projekt unterstützen

    Support Contao

    Standard

    hab's nun ohne den Umweg der "Übersetzung" gelöst ... auch wenn ich nun trotzdem nicht weiss, wie's hätte sein sollen

    PHP-Code:
            'biketypes' => [
                
    'label' => [
                    
    'de' => ['Radtypen','aus Fahrradtypen auswählen. Mehrfachauswahl ist möglich'],
                ],
                
    'inputType' => 'checkbox',
                
    'options' => [
                    
    'Mountainbike mechanisch',
                    
    'Mountainbike E-Bike',
                    
    'Trakkingbike mechanisch',
                    
    'Trakkingbike E-Bike',
                ],
                
    'eval' => [
                    
    'tl_class' => 'clr w50',
                    
    'multiple' => true,
                ],
            ], 
    Grüsse
    Bernhard


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

    Standard

    https://docs.contao.org/dev/reference/dca/fields/
    PHP-Code:
            'biketypes' => [
                
    'label' => [
                    
    'de' => ['Radtypen','aus Fahrradtypen auswählen. Mehrfachauswahl ist möglich'],
                ],
                
    'inputType' => 'checkbox',
                
    'options' => [
                    
    'mtb-mechanic',
                    
    'mtb-electric',
                    
    'trakk-mechanic',
                    
    'trakk-electric',
                ],
                
    'reference' => &$GLOBALS['TL_LANG']['MSC']['biketypes'],
                
    'eval' => [
                    
    'tl_class' => 'clr w50',
                    
    'multiple' => true,
                ],
            ], 
    PHP-Code:
    // contao/languages/de/default.php
    $GLOBALS['TL_LANG']['MSC']['biketypes'] = [
        
    'mtb-mechanic' => 'Mountainbike mechanisch',
        
    'mtb-electric' => 'Mountainbike E-Bike',
        
    'trakk-mechanic' => 'Trakkingbike mechanisch',
        
    'trakk-electric' => 'Trakkingbike E-Bike'
    ]; 
    PHP-Code:
    // contao/languages/en/default.php
    $GLOBALS['TL_LANG']['MSC']['biketypes'] = [
        
    'mtb-mechanic' => '…',
        
    'mtb-electric' => '…',
        
    'trakk-mechanic' => '…',
        
    'trakk-electric' => '…'
    ]; 
    etc.

    Im Template dann:
    PHP-Code:
    <ul>
      <?php foreach ($this->biketypes as $biketype): ?>
        <li><?= $this->trans('MSC.biketypes.'.$biketype?></li>
      <?php endforeach; ?>
    </ul>
    (alles ungetestet)
    Geändert von Spooky (15.09.2021 um 09:58 Uhr)
    » sponsor me via GitHub or PayPal or Revolut

  6. #6
    Community-Moderator & Contao-Urgestein Avatar von derRenner
    Registriert seit
    23.10.2012.
    Ort
    hoRn|waldviertel
    Beiträge
    2.849
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    (alles ungetestet)
    gestest und als gut befunden
    vielen DANK!!
    Grüsse
    Bernhard


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
  •