/** * Create CMS page type * * @return void */ private function createRedirect() { Redirect::create(['match_type' => Redirect::TYPE_EXACT, 'target_type' => Redirect::TARGET_TYPE_CMS_PAGE, 'from_url' => $this->getOriginalUrl(), 'to_url' => null, 'cms_page' => $this->page->getBaseFileName(), 'status_code' => 301, 'is_enabled' => true, 'system' => true]); }
/** * Removes a part of the page hierarchy starting from the specified page. * @param \Cms\Classes\Page $page Specifies a page object. */ public function removeSubtree($page) { $pagesConfig = $this->getPagesConfig(); $requestedFileName = $page->getBaseFileName(); $tree = []; $iterator = function ($configPages) use(&$iterator, &$pages, $requestedFileName) { $result = []; foreach ($configPages as $fileName => $subpages) { if ($requestedFileName != $fileName) { $result[$fileName] = $iterator($subpages); } } return $result; }; $updatedStructure = $iterator($pagesConfig['static-pages']); $this->updateStructure($updatedStructure); }