Если какое-то действие нужно повторять из проекта в проекте, изо дня в день, то стоит задуматься о необходимости его автоматизировать. Благо в 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;
Заработало. Дело в регистре было.