/** * Create default page cover * @param \MongoId $accountId * @throws ServerErrorHttpException */ private function _createDefaultPageCover(\MongoId $accountId) { $page = new Page(['scenario' => 'createBasic']); $defaultCoverPage = Yii::$app->params['default_cover_page']; $page->load($defaultCoverPage, ''); $page->_id = new \MongoId(); $page->accountId = $accountId; $page->url = Yii::$app->request->hostinfo . '/msite/page/' . $page->_id; $shortUrl = Yii::$app->urlService->shortenUrl($page->url); $page->shortUrl = $shortUrl['Short']; if ($page->save()) { $pageComponent = new PageComponent(['scenario' => PageComponent::SCENARIO_CREATE]); $defaultCoverPageCompnent = Yii::$app->params['default_cover_pagecomponent']; $pageComponent->load($defaultCoverPageCompnent, ''); $pageComponent->pageId = $page->_id; $pageComponent->parentId = $page->_id; $pageComponent->accountId = $accountId; $pageComponent->jsonConfig = Yii::$app->params['micrositeDefaultConfig'][$pageComponent->name]; $pageComponent->save(); } else { throw new ServerErrorHttpException(Yii::t('common', 'save_fail')); } }
private function _createDefaultPageCover($accountId, $hostinfo) { $defaultCoverPage = ['title' => '默认首页', 'description' => '默认首页', 'type' => 'cover', 'isFinished' => true, 'deletable' => false]; $defaultCoverPageCompnent = ['name' => 'cover1', 'color' => '#6AB3F7', 'order' => 0]; $page = Page::findOne(array_merge($defaultCoverPage, ['accountId' => $accountId])); if (empty($page)) { $page = new Page(['scenario' => 'createBasic']); $page->load($defaultCoverPage, ''); $page->_id = new MongoId(); $page->accountId = $accountId; $page->url = $hostinfo . '/msite/page/' . $page->_id; $shortUrl = Yii::$app->urlService->shortenUrl($page->url); $page->shortUrl = $shortUrl['Short']; if ($page->save()) { $pageComponent = new PageComponent(['scenario' => PageComponent::SCENARIO_CREATE]); $pageComponent->load($defaultCoverPageCompnent, ''); $pageComponent->pageId = $page->_id; $pageComponent->parentId = $page->_id; $pageComponent->accountId = $accountId; $pageComponent->jsonConfig = Yii::$app->params['micrositeDefaultConfig'][$pageComponent->name]; $pageComponent->save(); } else { echo $page->getErrors() . PHP_EOL; exit; } } else { echo $accountId . 'data is exists' . PHP_EOL; } }
public function actionCreate() { $pageComponent = new PageComponent(['scenario' => BaseModel::SCENARIO_CREATE]); $params = $this->getParams(); $tabId = $this->getParams('tabId'); $accountId = $this->getAccountId(); $params['accountId'] = $accountId; unset($params['tabId']); $pageComponent->load($params, ''); $pageComponent->jsonConfig = Yii::$app->params['micrositeDefaultConfig'][$pageComponent->name]; if ($pageComponent->validate() && $pageComponent->save()) { $pageId = $pageComponent->pageId; $order = $pageComponent->order; $pageComponentId = $pageComponent->_id; $condition = ['order' => ['$gte' => $order], '_id' => ['$ne' => $pageComponentId]]; $inc = 1; $tabIndex = $pageComponent->tabIndex; $this->_updateOrder($condition, $inc, $pageId, $tabId, $tabIndex); } else { throw new ServerErrorHttpException(\Yii::t('common', 'save_fail')); } return $pageComponent; }