Korzystał ktoś z tego? wi jak można dodać upload? mam wrażenie, że ten kod napisany jest jakoś na kolanie… niby fajny, ale coś w tym zrobić to włosy sobie można prędzej wyrwać.
Korzystał ktoś z tego? wi jak można dodać upload? mam wrażenie, że ten kod napisany jest jakoś na kolanie… niby fajny, ale coś w tym zrobić to włosy sobie można prędzej wyrwać.
A skąd to masz ? Daj linka
http://www.yiiframework.com/extension/yii2-ajaxcrud/
Generalnie kod mi się tego nie podoba w ogóle… czemu kontroler ma odpowiadać za wyświetlanie okien modeli?
Jak by ci się udało rozgryźć jak w tym cokolwiek zmienić. Dodać upload/dodać masową zmianę statusu czy jakieś inne akcje to podziel się, bo ja tego kodu w kontrolerze nie rozumiem w ogóle. musiałem to na razie porzucić i samemu klepać z podstawowego generatora.
Aby upload działał trzeba zmodyfikować plik _form.php (wygenerowany wcześniej za pomocą GII), dodać do niego upload pliku
oraz poinformować formularz że będzie upload
$form = ActiveForm::begin(
['options'=>['enctype'=>'multipart/form-data']]
);
W kontrolerze trzeba nauczyć przyjmować pliki :
if ($request->isAjax && $model->load($request->post())) {
$this->upload($model); // funcja przyjmująca plik
protected function upload($model)
{ //ver 2.1
if ($model->validate())
{
if ($model->file = UploadedFile::getInstance($model, 'file'))
{
$model->img = $model->name.'.' . $model->file->extension;
if ($model->save()) {
$upload = $model->file->saveAs( /img/ . $model->img);
if (!$upload) { print_r($model->getErrors());die;}
} else {
print_r($model->getErrors());die;
}
return true;
}
} else {
Yii::$app->session->setFlash('error', Yii::t('app', 'Data not validate'));
}
}
Pamiętam że jak kiedyś miałem to zadanie to jeszcze w Ajax wymagana była jakaś modyfikacja ale za chiny nie mogę sobie przypomnieć. Kod który zapodałem jest z wycięty z mojej aplikacji więc trzeba by dostosować do własnych potrzeb