public function actionCreate() { $model = new Block(); $model->siteId = Yii::$app->cmgCore->siteId; $banner = CmgFile::loadFile($model->banner, 'Banner'); $video = CmgFile::loadFile($model->video, 'Video'); $texture = CmgFile::loadFile($model->texture, 'Texture'); $model->setScenario('create'); if ($model->load(Yii::$app->request->post(), 'Block') && $model->validate()) { if (BlockService::create($model, $banner, $video, $texture)) { $this->redirect(['all']); } } $templatesMap = TemplateService::getIdNameMap(['conditions' => ['type' => CmsGlobal::TYPE_BLOCK], 'prepend' => [['name' => '0', 'value' => 'Choose Template']]]); return $this->render('create', ['model' => $model, 'banner' => $banner, 'video' => $video, 'texture' => $texture, 'templatesMap' => $templatesMap]); }
/** * @param Block $block * @param CmgFile $banner * @param CmgFile $texture * @param CmgFile $video * @return Block */ public static function create($block, $banner = null, $texture = null, $video = null) { if (isset($block->templateId) && $block->templateId <= 0) { unset($block->templateId); } if (isset($banner)) { FileService::saveImage($banner, ['model' => $block, 'attribute' => 'bannerId']); } if (isset($texture)) { FileService::saveImage($texture, ['model' => $block, 'attribute' => 'textureId']); } if (isset($video)) { FileService::saveImage($video, ['model' => $block, 'attribute' => 'videoId']); } // Create Block $block->save(); return $block; }
public function getBlock() { return $this->hasOne(Block::className(), ['id' => 'blockId']); }