ウィジェット ============ ウィジェットは、[ビュー](structure-views.md) で使用される再利用可能な構成ブロックで、 複雑かつ構成可能なユーザインタフェイス要素をオブジェクト指向のやり方で作成するためのものです。 例えば、日付選択ウィジェットを使うと、入力として日付を選択することを可能にする素敵なデイトピッカーを生成することが出来ます。 このとき、あなたがしなければならないことは、次のようなコードをビューに挿入することだけです: ```php = DatePicker::widget(['name' => 'date']) ?> ``` 数多くのウィジェットが Yii にバンドルされています。 例えば、[[yii\widgets\ActiveForm|アクティブフォーム]] や、[[yii\widgets\Menu|メニュー]]、[jQuery UI ウィジェット](widget-jui.md)、[Twitter Bootstrap ウィジェット](widget-bootstrap.md) などです。 下記では、ウィジェットに関する基本的な知識の手引きをします。 特定のウィジェットの使い方について学ぶ必要がある場合は、クラス API ドキュメントを参照してください。 ## ウィジェットを使う ウィジェットは主として [ビュー](structure-views.md) で使われます。 ビューでウィジェットを使うためには、[[yii\base\Widget::widget()]] メソッドを使うことが出来ます。 このメソッドは、ウィジェットを初期化するための [構成情報](concept-configurations.md) 配列を受け取り、ウィジェットのレンダリング結果を返します。 例えば、下記のコードは、日本語を使い、入力を `$model` の `from_date` 属性に保存するように構成された日付選択ウィジェットを挿入するものです。 ```php = DatePicker::widget([ 'model' => $model, 'attribute' => 'from_date', 'language' => 'ja', 'clientOptions' => [ 'dateFormat' => 'yy-mm-dd', ], ]) ?> ``` ウィジェットの中には、コンテンツのブロックを受け取ることが出来るものもあります。 その場合、コンテンツのブロックは [[yii\base\Widget::begin()]] と [[yii\base\Widget::end()]] の呼び出しの間に包むようにしなければなりません。 例えば、次のコードは [[yii\widgets\ActiveForm]] ウィジェットを使ってログインフォームを生成するものです。 このウィジェットは、`begin()` と `end()` が呼ばれる場所で、それぞれ、開始と終了の `