Если какое-то действие нужно повторять из проекта в проекте, изо дня в день, то стоит задуматься о необходимости его автоматизировать. Благо в Yii2 возможностей для этого уйма.
Сегодня буду хвастаться своими виджетами, которые пригодятся абсолютно в любом проекте.
Все что нужно сделать это прикрепить к полю формы виджет и указать на основе какой модели должен генерироваться dropDownList. Виджет сам все достанет и сформирует dropDownList. Из плюшек: возможность задать доп условия, какие именно данные из модели должны отобразиться в select. Виджет умеет работать как с ActiveForm так и без него, может генерировать ключи на основе составного первичного ключа модели.
Примеры:
use developeruz\drop_down\DropDown; echo DropDown::widget( ['name' => 'article', 'itemsModel' => Article::className(), 'itemsLabelAttribute' => 'title', ] );
use developeruz\drop_down\DropDown; <?= $form->field($model, 'article_id')->widget(DropDown::className(), ['itemsModel' => Article::className(), 'itemsLabelAttribute' => 'title', ]); ?>
Скачать можно с github. С радостью выслушаю комментарии и предложения.
Какой сайт сегодня может обойтись без визуальных текстовых редакторов? Благодаря виджету, подключить TinyMce к любому полю теперь проще простого.
use developeruz\tinyMce\TinyMce; echo TinyMce::widget( [ 'name' => 'content', 'options' => ['rows' => 6], // параметры передаваемые в Html::textarea 'clientOptions' => [ // параметры передаваемые в tinymce.init() 'language' => 'ru', ], ]); ?>
use developeruz\tinyMce\TinyMce; echo $form->field($model, 'content')->widget(TinyMce::className(), [ 'options' => ['rows' => 6], // параметры передаваемые в Html::textarea 'clientOptions' => [ // параметры передаваемые в tinymce.init() 'language' => 'ru', ], ]);
Скачать можно с github. С радостью выслушаю комментарии и предложения.
В планах создание Input виджета для загрузки файлов и картинок. А каких виджетов не хватает именно вам?
Привет. Спасибо за эту штуку.
Я недавно начал учить yii2.
Сначала не работало.
Написал use developeruz\tinymce\TinyMce;
вместо use developeruz\tinyMce\TinyMce;
Заработало. Дело в регистре было.