Backend\Modules\Pages\Engine\CacheBuilder::getPageData PHP Метод

getPageData() защищенный Метод

Fetches the pagedata for a certain page array It also adds the page data to the keys array
protected getPageData ( &$keys, array $page, string $language ) : array
$page array
$language string
Результат array An array containing more data for the page
    protected function getPageData(&$keys, $page, $language)
    {
        $parentID = (int) $page['parent_id'];
        // init URLs
        $hasMultiLanguages = BackendModel::getContainer()->getParameter('site.multilanguage');
        $languageURL = $hasMultiLanguages ? '/' . $language . '/' : '/';
        $url = isset($keys[$parentID]) ? $keys[$parentID] : '';
        // home is special
        if ($page['id'] == 1) {
            $page['url'] = '';
            if ($hasMultiLanguages) {
                $languageURL = rtrim($languageURL, '/');
            }
        }
        // add it
        $keys[$page['id']] = trim($url . '/' . $page['url'], '/');
        // unserialize
        if (isset($page['meta_data'])) {
            $page['meta_data'] = @unserialize($page['meta_data']);
        }
        // build navigation array
        $pageData = array('page_id' => (int) $page['id'], 'url' => $page['url'], 'full_url' => $languageURL . $keys[$page['id']], 'title' => $page['title'], 'navigation_title' => $page['navigation_title'], 'has_extra' => (bool) ($page['has_extra'] == 'Y'), 'no_follow' => (bool) (isset($page['meta_data']['seo_follow']) && $page['meta_data']['seo_follow'] == 'nofollow'), 'hidden' => (bool) ($page['hidden'] == 'Y'), 'extra_blocks' => null, 'has_children' => (bool) ($page['has_children'] == 'Y'));
        $pageData['extra_blocks'] = $this->getPageExtraBlocks($page);
        $pageData['tree_type'] = $this->getPageTreeType($page, $pageData);
        return $pageData;
    }