Виджеты ======= Виджеты представляют собой многоразовые строительные блоки, используемые в [представлениях](structure-views.md) для создания сложных и настраиваемых элементов пользовательского интерфейса в рамках объектно-ориентированного подхода. Например, виджет выбора даты (date picker) позволяет генерировать интерактивный интерфейс для выбора дат, предоставляя пользователям приложения удобный способ для ввода данных такого типа. Все, что нужно для подключения виджета - это добавить следующий код в представление: ```php = DatePicker::widget(['name' => 'date']) ?> ``` В комплект Yii входит большое количество виджетов, например: [[yii\widgets\ActiveForm|active form]], [[yii\widgets\Menu|menu]], [виджеты jQuery UI](widget-jui.md), [виджеты Twitter Bootstrap](widget-bootstrap.md). Далее будут представлены базовые сведения о виджетах. Для получения сведений относительно использования конкретного виджета, следует обратиться к документации соответствующего класса. ## Использование Виджетов Главным образом, виджеты применяют в [представлениях](structure-views.md). Для того, чтобы использовать виджет в представлении, достаточно вызвать метод [[yii\base\Widget::widget()]]. Метод принимает массив [настроек](concept-configurations.md) для инициализации виджета и возвращает результат его рендеринга. Например, следующий код добавляет виджет для выбора даты, сконфигурированный для использования русского в качестве языка интерфейса виджета и хранения вводимых данных в атрибуте `from_date` модели `$model`. ```php = DatePicker::widget([ 'model' => $model, 'attribute' => 'from_date', 'language' => 'ru', 'clientOptions' => [ 'dateFormat' => 'yy-mm-dd', ], ]) ?> ``` Некоторые виджеты могут иметь внутреннее содержимое, которое следует располагать между вызовами методов [[yii\base\Widget::begin()]] и [[yii\base\Widget::end()]]. Например, для генерации формы входа, в следующем фрагменте кода используется виджет [[yii\widgets\ActiveForm]]. Этот виджет сгенерирует открывающий и закрывающий тэги `