php Yii 2 - radioList 模板
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/28234684/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Yii 2 - radioList Template
提问by JDpawar
I want to add template to radioList in yii2, which I tried, but I am unable to get the proper o/p.
我想在 yii2 中向 radioList 添加模板,我尝试过,但我无法获得正确的 o/p。
The HTML is
HTML是
<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>
The o/p should look like this
o/p 应该是这样的
The Yii2 code which I tried is...
我试过的 Yii2 代码是...
<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>
I have searched a lot on the template but did not get any proper response.
我在模板上搜索了很多,但没有得到任何正确的回应。
回答by JDpawar
I finally got the way through which we can modify the input tag generation logic in Yii2
终于找到了修改Yii2中输入标签生成逻辑的方法
To get the above result of the radio buttons, I have developed the following code
为了获得单选按钮的上述结果,我开发了以下代码
<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>
The "item" option in the radioList is a callback function to the input generation logic written in Yii2. We can easily modify the layout of each element generated using this callback function and it's parameters.
radioList中的“item”选项是Yii2编写的输入生成逻辑的回调函数。我们可以轻松地修改使用此回调函数生成的每个元素的布局及其参数。
回答by Ryan Arief
回答by Vinit Choudhari
$form->field($model, 'gender')
->radioList(array(1 => 'Male', 0 =>'Female'), array('class' => 'i-checks'));