Example #1
0
 /**
  * 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]);
 }
Example #2
0
 /**
  * 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);
 }