/** * 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; } }