/** * @param Page $page * @param CmgFile $banner * @return Page */ public static function create($page) { $page->type = CmsGlobal::TYPE_PAGE; if (!isset($page->order) || strlen($post->order) <= 0) { $page->order = 0; } // Create Page $page->save(); return $page; }
public function getParent() { switch ($row['type']) { case self::TYPE_PAGE: return $this->hasOne(Page::className(), ['id' => 'parentId']); case self::TYPE_POST: return $this->hasOne(Post::className(), ['id' => 'parentId']); } }
public function actionCreate() { $model = new Page(); $model->siteId = Yii::$app->cmgCore->siteId; $content = new ModelContent(); $banner = CmgFile::loadFile(null, 'File'); $model->setScenario('create'); if ($model->load(Yii::$app->request->post(), 'Page') && $content->load(Yii::$app->request->post(), 'ModelContent') && $model->validate() && $content->validate()) { $page = PageService::create($model); if (isset($page)) { // Create Content ModelContentService::create($page, CmsGlobal::TYPE_PAGE, $content, $page->isPublished(), $banner); $this->redirect(['all']); } } $visibilityMap = Page::$visibilityMap; $statusMap = Page::$statusMap; $templatesMap = TemplateService::getIdNameMapByType(CmsGlobal::TYPE_PAGE); $templatesMap = ArrayHelper::merge(['0' => 'Choose Template'], $templatesMap); return $this->render('create', ['model' => $model, 'content' => $content, 'banner' => $banner, 'visibilityMap' => $visibilityMap, 'statusMap' => $statusMap, 'templatesMap' => $templatesMap]); }