Empfehlungen: Erweiterte Suche

Formhelper: Checkboxen eine Klasse zuweisen

Unterstützung der Daten-Formatierung in den Views (DRY)

Formhelper: Checkboxen eine Klasse zuweisen

Beitragvon getit » Sa 9. Mai 2009, 09:38

Hallo,

ich möchte meinen Checkboxen eine Klasse zuweisen.

Ich habe folgenden Code:
Code: Alles auswählen

echo $form->input('User.username', array(
    'label'     =>  'Benutzer',
    'type'      =>  'select',
    'multiple'  =>  'checkbox'
)) . "\n";
 

dieser Code erzeugt folgende Ausgabe:
Code: Alles auswählen

<div class="input select">
  <label for="UserUsername">Benutzer</label>
  <input type="hidden" value="" name="data[User][username]"/>
  <div class="checkbox">
    <input id="UserUsername1" type="checkbox" value="1" name="data[User][username][]"/>
    <label for="UserUsername1">admin</label>
  </div>
  <div class="checkbox">
    <input id="UserUsername2" type="checkbox" value="2" name="data[User][username][]"/>
    <label for="UserUsername2">test</label>
  </div>
</div>
 


Jetzt möchte ich den einzelnen Checkboxen noch eine Klasse zuweisen - class="admin", oder so - je nachdem welcher Gruppe die jeweilige Person angehört.

Also mit purem html ausgedrückt möchte ich sowas:
Code: Alles auswählen

<input type="checkbox" name="data[User][username][]" value="1" class="admin">Horst</input>
 


Wenn ich das Attribute "class" in das Options-Array schreibe wird das ignoriert.
Weis jemand wie das geht?
getit
 
Beiträge: 105
Registriert: Mo 22. Dez 2008, 13:06
CakePHP-Version: 1.2.1.8004
OS: Vista

Re: Formhelper: Checkboxen eine Klasse zuweisen

Beitragvon Jörg » Sa 9. Mai 2009, 15:05

Hey,
füge mal deinem Form-Helper "input" den Key und die Eigenschaft (class=>'deineclass') hinzu.
Ansonsten kannst du deinem Input auch eine "id" mitgeben ... es gibt auch die Möglichkeit einen eigenen Style mitzugeben.

Code: Alles auswählen
$form->input('User.username', array(
    'label'     =>  'Benutzer',
    'type'      =>  'select',
    'multiple'  =>  'checkbox',
    'class' => 'testclass',
    'id' => 'testid',
    'style' => "height:33px;"
)) . "\n";


Quelle: www.nabble.com

Gruß
Jörg
Jörg
 
Beiträge: 105
Registriert: Di 13. Mai 2008, 13:45
Wohnort: Bremen
CakePHP-Version: 2.0.3, 1.3.x
OS: Win7/Ubuntu

Re: Formhelper: Checkboxen eine Klasse zuweisen

Beitragvon getit » Sa 9. Mai 2009, 16:27

@Jörg
Das mit dem class-Attribut und dem id-Attribut funktioniert leider nicht.

Ich hab das jetzt "manuell" hinbekommen:
Code: Alles auswählen

$i = 1;
echo $html->tag('span', 'Benutzer', array('id' => 'users')) . "\n";
foreach ($usernames as $user) {
    echo $html->tag('div', null, array('class' => 'checkbox')) . "\n";
        echo $form->checkbox('User.username.' . $user, array(
            'id'        =>  $user,
            'class'     =>  $groups[$i]
        )) . "\n";
        echo $html->tag('label', $user, array('for' => $user)) . "\n";
    echo $html->tag('/div') . "\n";
    $i++;
}
 
getit
 
Beiträge: 105
Registriert: Mo 22. Dez 2008, 13:06
CakePHP-Version: 1.2.1.8004
OS: Vista

Re: Formhelper: Checkboxen eine Klasse zuweisen

Beitragvon Jörg » Mo 11. Mai 2009, 12:18

Hallo,
schade ... ich hatte die Hoffnung das es doch so leicht geht.

Die Variante über den HTML-Helper ist natürlich auch eine Möglichkeit.

Vielen Dank für den Tipp.

Gruß
Jörg
Jörg
 
Beiträge: 105
Registriert: Di 13. Mai 2008, 13:45
Wohnort: Bremen
CakePHP-Version: 2.0.3, 1.3.x
OS: Win7/Ubuntu


Zurück zu Helper

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron