Ergebnis 1 bis 3 von 3

Thema: Standardwert bei Filter Einzelauswahl - Radiobuttons

  1. #1
    Contao-Nutzer
    Registriert seit
    18.04.2011.
    Beiträge
    75

    Standard Standardwert bei Filter Einzelauswahl - Radiobuttons

    Liebe Community

    Beim Testen der diversen Filter sind mir weitere Ungereimtheiten aufgefallen.

    Ich habe einen Einzelauswahl Filter angewendet. Diesen habe ich mit einem Standardwert vorbelegt.
    Der vorbelegte Filter filtert nun die Ausgabe wie gewünscht, jedoch sind die radiobuttons nicht vorbelegt. Soll heissen: Obwohl ich im Filter einen Standardwert definiert habe, erscheinen die Radiobuttons blank. Beim Klicken auf einen Radiobutton wird dann komischerweise der nachfolgende Button "checked". Im Template mm_filteritem_radiobuttons habe ich leider noch nicht die gewünschten Ergebnisse herstellen können.

    Wo müsste man hier ansetzen?

  2. #2
    Contao-Nutzer
    Registriert seit
    18.04.2011.
    Beiträge
    75

    Standard

    Ich habe festgestellt, dass im template "mm_filteritem_radiobuttons" die Klassen nicht greifen :/

    Code:
    <?php if(is_array($this->options) && count($this->options)>0): ?>
    <fieldset id="ctrl_<?php echo $this->urlparam; ?>" class="radio_container">
    <?php 
    $count = 0;
    foreach($this->options as $option):
    	$class = ($count == 0) ? 'first ' : '';
    	$class .= ($count == count($this->options) - 1 ) ? 'last ' : '';
    	$class .= ($count % 2 == 1) ? 'even' : 'odd';
    	$class .= (strlen($option['class'])) ? ' ' . $option['class'] : '';
        
    ?>
    
    <?php
    	$field = sprintf('<input type="radio" name="%s" id="opt_%s_%s" class="radio%s" value="%s"%s />',
    		$this->urlparam,
    		$this->urlparam,
    		$count,
    		$this->submit ? ' submitonchange' : '',
    		$option['key'],
            ($option['active'] ? ' checked="checked"':'')
    	);
    	$label = sprintf('<label id="lbl_%s_%s" for="opt_%s_%s">%s%s</label>',
    		$this->urlparam,
    		$count,
    		$this->urlparam,
    		$count,
    		$option['value'],
    		(($this->showCount) ? ' <span class="count">('. $this->count[$option['key']] .')</span>' : '')
    	);
    	$count++;
    ?>
    <span class="<?php echo $class; ?>"><?php echo $field; ?> <?php echo $label; ?></span>
    <?php endforeach; ?>
    </fieldset>
    <?php endif; ?>
    Gut möglich, dass das Problem daher rührt? Bei Klick auf einen Radiobutton werden alle Radiobuttons auf aktiv geschalten. Alle erhalten das "checked", womit dann die letzte Option angewählt bleibt...
    Irgendwie frustrierend, wenn man trotz dieser Erkenntnis nicht weiter weiss

  3. #3
    Contao-Urgestein Avatar von KlausGrenoble
    Registriert seit
    27.01.2013.
    Ort
    Grenoble
    Beiträge
    2.362

    Standard

    Könnte man mit dem Checkbox-Template vergleichen. Vielleicht findet man da was? Ich kenne PHP nicht. Ist vielleicht auch schon in Github.

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
  •