Форма
Код: Выделить всё
<?php
namespace app\models\main;
use Yii;
use yii\base\Model;
class CommonForm extends Model
{
public $modelFile;
public $imgFile;
protected $type;
protected $modelPath;
protected $imgPath;
protected $_type;
public static function tableName()
{
return 'items';
}
public function rules()
{
return [
[['modelFile'], 'file', 'skipOnEmpty' => false, 'extensions' => 'dae'],
[['imgFile'], 'file', 'skipOnEmpty' => false, 'extensions' => 'png'],
];
}
public function attributeLabels()
{
return [
'modelFile' => Yii::t('app', 'ModelFile'),
'imgFile' => Yii::t('app', 'ImgFile'),
];
}
}
Код: Выделить всё
public function actionAdd()
{
$view = '/admin/' . $this->viewDirectory . '/add';
$form = $this->selectForm();
if(Yii::$app->request->post()){
if (Yii::$app->request->isAjax && $form->load(Yii::$app->request->post())) {
Yii::$app->response->format = Response::FORMAT_JSON;
return ActiveForm::validate($form);
}
$form->modelFile = UploadedFile::getInstance($form, 'modelFile');
$form->imgFile = UploadedFile::getInstance($form, 'imgFile');
if ($form->modelFile && $form->imgFile && $form->validate()) {
$form->modelFile->saveAs('models/' . $this->viewDirectory . '/' . $form->modelFile->baseName . '.' . $form->modelFile->extension);
$form->imgFile->saveAs('img/models/' . $this->viewDirectory . '/' . $form->imgFile->baseName . '.' . $form->imgFile->extension);
return $this->refresh();
} else {
return $this->render($view, [
'model' => $form,
]);
}
}
return $this->render($view, ['model' => $form]);
}