![](http://m.sbmmt.com/img/upload/article/000/000/029/5e007823e62b5922.jpg)
小部件
小部件是在视图中使用的可重用单元, 使用面向对象方式创建复杂和可配置用户界面单元。 (推荐学习:yii框架)
例如,日期选择器小部件可生成一个精致的允许用户选择日期的日期选择器, 你只需要在视图中插入如下代码:
<?php use yii\jui\DatePicker; ?> <?= DatePicker::widget(['name' => 'date']) ?>
Yii提供许多优秀的小部件,比如 active form,menu, jQuery UI widgets, Twitter Bootstrap widgets。 接下来介绍小部件的基本知识,如果你想了解某个小部件请参考对应的类 API 文档。
使用小部件
小部件基本上在 views 中使用, 在视图中可调用 yii\base\Widget::widget() 方法使用小部件。 该方法使用 配置 数组初始化小部件并返回小部件渲染后的结果。
例如如下代码插入一个日期选择器小部件,它配置为使用俄罗斯语, 输入框内容为 $model 的 from_date 属性值。
<?php use yii\jui\DatePicker; ?> <?= DatePicker::widget([ 'model' => $model, 'attribute' => 'from_date', 'language' => 'ru', 'dateFormat' => 'php:Y-m-d', ]) ?>
一些小部件可在 yii\base\Widget::begin() 和 yii\base\Widget::end() 调用中使用数据内容。
例如如下代码使用 yii\widgets\ActiveForm 小部件生成一个登录表单, 小部件会在 begin() 和 end() 执行处分别生成 <form> 的开始标签和结束标签, 中间的任何代码也会被渲染。
<?php use yii\widgets\ActiveForm; use yii\helpers\Html; ?> <?php $form = ActiveForm::begin(['id' => 'login-form']); ?> <?= $form->field($model, 'username') ?> <?= $form->field($model, 'password')->passwordInput() ?> <div class="form-group"> <?= Html::submitButton('Login') ?> </div> <?php ActiveForm::end(); ?>
注意和调用 yii\base\Widget::widget() 返回渲染结果不同, 调用 yii\base\Widget::begin() 方法返回一个可组建小部件内容的小部件实例。
注意: 当调用 yii\base\Widget::end() 的时候,一些小部件将使用 输出缓冲 来调整封闭的内容。因此,当调用 yii\base\Widget::begin() 和 yii\base\Widget::end() 时,最好在同一个视图文件里。 不遵循这个规则可能会导致意外的输出。
以上就是yii框架的小部件怎么使用的详细内容,更多请关注php中文网其它相关文章!