Je veux ajouter un modèle à radioList en yii2, ce que j'ai essayé, mais je ne parviens pas à obtenir le bon o/p.
Le HTML est
<div class="input-wrap">
<label class="gender-head">Gender</label>
<label class="signup-radio">
<input type="radio" name="signup-gender" id="signupMale" checked tabindex="3" />
<i></i>
<span>Male</span>
</label>
<label class="signup-radio">
<input type="radio" name="signup-gender" id="signupFemale" tabindex="3" />
<i></i>
<span>Female</span>
</label>
</div>
L'o/p devrait ressembler à ceci
Le code Yii2 que j'ai essayé est ...
<div class="input-wrap">
<div class="clearfix">
<?= $form->field($model, 'gender', ['radioTemplate' => '<label class="gender-head">{label}</label><label class="signup-radio">{input}</label>'])->inline()->radioList([1 => 'Male', 0 => 'Female'], ['separator' => '', 'tabindex' => 3]); ?>
</div>
<div class="help-block"></div>
</div>
J'ai beaucoup cherché sur le modèle mais je n'ai pas obtenu de réponse appropriée.
J'ai enfin réussi à modifier la logique de génération des balises d'entrée dans Yii2
Pour obtenir le résultat ci-dessus des boutons radio, j'ai développé le code suivant
<div class="input-wrap">
<div class="clearfix" id="UserLogin-gender">
<label class="radio-head">Gender</label>
<?=
$form->field($model, 'gender')
->radioList(
[1 => 'Male', 0 => 'Female'],
[
'item' => function($index, $label, $name, $checked, $value) {
$return = '<label class="modal-radio">';
$return .= '<input type="radio" name="' . $name . '" value="' . $value . '" tabindex="3">';
$return .= '<i></i>';
$return .= '<span>' . ucwords($label) . '</span>';
$return .= '</label>';
return $return;
}
]
)
->label(false);
?>
</div>
<div class="help-block"></div>
</div>
L'option "item" dans la radioList est une fonction de rappel à la logique de génération d'entrée écrite en Yii2. Nous pouvons facilement modifier la disposition de chaque élément généré en utilisant cette fonction de rappel et ses paramètres.
je suis peut-être trop tard mais vous pouvez essayer
<?= $form->field($model, 'abc')->inline()->radioList(['example1' => 'example1', 'example2' => 'example2'])->label(false) ?>