RainLab\Pages\Classes\PageList::getPageParent PHP Метод

getPageParent() публичный Метод

Returns the parent name of the specified page.
public getPageParent ( Cms\Classes\Page $page )
$page Cms\Classes\Page Specifies a page object.
    public function getPageParent($page)
    {
        $pagesConfig = $this->getPagesConfig();
        $requestedFileName = $page->getBaseFileName();
        $parent = null;
        $iterator = function ($configPages) use(&$iterator, &$parent, $requestedFileName) {
            foreach ($configPages as $fileName => $subpages) {
                if ($fileName == $requestedFileName) {
                    return true;
                }
                if ($iterator($subpages) == true && is_null($parent)) {
                    $parent = $fileName;
                    return true;
                }
            }
        };
        $iterator($pagesConfig['static-pages']);
        return $parent;
    }

Usage Example

Пример #1
0
 /**
  * Returns the parent page that belongs to this one, or null.
  * @return mixed
  */
 public function getParent()
 {
     if ($this->parentCache !== null) {
         return $this->parentCache;
     }
     $pageList = new PageList($this->theme);
     $parent = null;
     if ($fileName = $pageList->getPageParent($this)) {
         $parent = static::load($this->theme, $fileName);
     }
     return $this->parentCache = $parent;
 }