Example #1
0
 /**
  * Remove media action
  */
 public function actionRemoveMedia()
 {
     $request = Yii::$app->request;
     $productMedia = ProductMedia::findOne(['product_id' => $request->get('product'), 'media_id' => $request->get('id')]);
     $productMedia->delete();
     TagDependency::invalidate(Yii::$app->commonCache, Product::generateTagStatic($request->get('product')));
 }
Example #2
0
 /**
  * Create action
  * @return array|string
  * @throws ErrorException
  */
 public function actionCreate()
 {
     // request component
     $request = Yii::$app->request;
     // load models
     $models = $this->loadEditModels();
     // save models
     $saved = false;
     if ($request->isPost) {
         $saved = $this->saveEditModels($models, $request->post());
     }
     // create a component to display data
     $crudEdit = new $this->crudComponentsClass['edit'](['models' => $models, 'language' => Yii::$app->language, 'addAgain' => $request->get('add-again', true), 'saved' => $saved, 'uploadConfig' => $this->uploadConfig, 'dropDownList' => function ($id) {
         return $this->getDropDownList($id);
     }]);
     if ($request->get('product', false)) {
         $productMedia = new ProductMedia(['scenario' => 'insert']);
         var_dump($crudEdit->models);
         $productMedia->media_id = $crudEdit->models['main']->id;
         $productMedia->product_id = $request->get('product');
         if (!$productMedia->save()) {
             var_dump($productMedia->errors);
         }
         TagDependency::invalidate(Yii::$app->commonCache, Product::generateTagStatic($request->get('product')));
     }
     if ($request->isAjax) {
         // set response format
         Yii::$app->response->format = Response::FORMAT_JSON;
         return ['html' => $this->renderAjax('crud/edit/_contentBlock', ['crudEdit' => $crudEdit]), 'scripts' => $this->registerClientSideAjaxScript(), 'title' => $crudEdit->title];
     } else {
         return $this->render('crud/edit/edit', ['crudEdit' => $crudEdit]);
     }
 }