本文整理汇总了PHP中SiteTree::getParent方法的典型用法代码示例。如果您正苦于以下问题:PHP SiteTree::getParent方法的具体用法?PHP SiteTree::getParent怎么用?PHP SiteTree::getParent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SiteTree
的用法示例。
在下文中一共展示了SiteTree::getParent方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: renderProductGroupNavigation
/**
* Renders the product group navigation.
*
* @param SiteTree $rootPage The root page to start with
* @param SiteTree $currentPage The current SiteTree object
* @param int $level The current level
*
* @return string
*
* @author Sebastian Diel <sdiel@pixeltricks.de>,
* Sascha Koehler <skoehler@pixeltricks.de>
* @since 24.11.2014
*/
public function renderProductGroupNavigation($rootPage, $currentPage, $level = 0)
{
$renderStr = '';
$isActivePage = false;
$level++;
if ($this->levelsToShow == 0 || $level <= $this->levelsToShow) {
if (!($this->expandActiveSectionOnly && ($this->levelsToShow != 0 && $level > $this->levelsToShow || $level > 1) && SilvercartTools::findPageIdInHierarchy($rootPage->getParent()->ID) === false)) {
$childPages = $rootPage->Children();
$childPageStr = '';
if ($childPages && $childPages->Count() > 0) {
foreach ($childPages as $childPage) {
$childPageStr .= $this->renderProductGroupNavigation($childPage, $currentPage, $level);
}
}
if (Controller::curr()->ID === $rootPage->ID) {
$isActivePage = true;
}
if (SilvercartTools::findPageIdInHierarchy($rootPage->ID) || $rootPage->ID === $currentPage->ID) {
$isActiveSection = true;
} else {
$isActiveSection = false;
}
$data = new ArrayData(array('MenuTitle' => $rootPage->getMenuTitle(), 'Title' => $rootPage->getTitle(), 'Link' => $rootPage->Link(), 'LinkOrSection' => $rootPage->LinkOrSection(), 'ChildPages' => $childPageStr, 'IsActivePage' => $isActivePage, 'IsActiveSection' => $isActiveSection, 'Level' => $level));
$renderStr .= $data->renderWith('SilvercartProductGroupNavigationWidgetEntry');
}
}
return $renderStr;
}
示例2: getPageHierarchy
/**
* Builds a hierarchy from the current page to the top product group page
* or holder.
*
* @param SiteTree $currPage The page to start from
*
* @return array
*
* @author Sascha Koehler <skoehler@pixeltricks.de>
* @since 18.10.2012
*/
public static function getPageHierarchy($currPage)
{
if (!array_key_exists('SiteTree_' . $currPage->ID, self::$pageHierarchy)) {
$level = 0;
$hierarchy = array('SiteTree_' . $currPage->ID => array('Page' => $currPage, 'Level' => $level));
while ($currPage->hasMethod('getParent') && $currPage->getParent()) {
$parent = $currPage->getParent();
if ($parent) {
$level++;
$hierarchy['SiteTree_' . $parent->ID] = array('Page' => $parent, 'Level' => $level);
$currPage = $parent;
} else {
break;
}
}
self::$pageHierarchy['SiteTree_' . $currPage->ID] = array();
foreach ($hierarchy as $pageID => $pageInfo) {
self::$pageHierarchy['SiteTree_' . $currPage->ID][$pageID] = array('Page' => $pageInfo['Page'], 'Level' => ($pageInfo['Level'] - $level) * -1);
}
}
return self::$pageHierarchy['SiteTree_' . $currPage->ID];
}