diff --git a/docs/guide-ru/structure-widgets.md b/docs/guide-ru/structure-widgets.md new file mode 100644 index 0000000..41ce7b9 --- /dev/null +++ b/docs/guide-ru/structure-widgets.md @@ -0,0 +1,201 @@ +Виджеты +======= + +Виджеты представляют собой многоразовые строительные блоки, используемые в [представлениях](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]]. Этот виджет сгенерирует открывающий и закрывающий +тэги `