本文整理汇总了PHP中SiteTree::Children方法的典型用法代码示例。如果您正苦于以下问题:PHP SiteTree::Children方法的具体用法?PHP SiteTree::Children怎么用?PHP SiteTree::Children使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SiteTree
的用法示例。
在下文中一共展示了SiteTree::Children方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: generateSiteMap
/**
* Generates the sitemap for the given root page
*
* @param SiteTree $page Page to get map for
*
* @return string
*
* @author Sebastian Diel <sdiel@pixeltricks.de>
* @since 25.04.2012
*/
public function generateSiteMap($page)
{
$page->SiteMapChildren = '';
if ($page->Children()->count() > 0) {
foreach ($page->Children() as $child) {
if ($child->ShowInMenus) {
}
$child->SiteMapChildren .= $this->generateSiteMap($child);
}
}
$output = $page->renderWith('SilvercartSiteMapLevel');
return $output;
}
示例2: 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;
}
示例3: renderNavigation
/**
* Renders the navigation.
*
* @param SiteTree $rootPage The root page to start with
* @param int $level The current level
*
* @return string
*
* @author Sascha Koehler <skoehler@pixeltricks.de>
* @since 22.05.2012
*/
public function renderNavigation($rootPage, $level = 0)
{
$renderStr = '';
$isActivePage = false;
if ($this->getLevelsToShow() != 0 && $level > $this->getLevelsToShow()) {
return $renderStr;
}
$childPages = $rootPage->Children();
$childPageStr = '';
if ($childPages->exists()) {
$childLevel = $level + 1;
foreach ($childPages as $childPage) {
if ($childPage->ShowInMenus) {
$childPageStr .= $this->renderNavigation($childPage, $childLevel);
}
}
}
if (Controller::curr()->ID === $rootPage->ID) {
$isActivePage = true;
}
$showChildPages = false;
$isSectionPage = false;
if (SilvercartTools::findPageIdInHierarchy($rootPage->ID)) {
$showChildPages = true;
$isSectionPage = true;
}
if (method_exists($rootPage, 'OriginalLink')) {
$link = $rootPage->OriginalLink();
} else {
$link = $rootPage->Link();
}
if ($rootPage->ID === $this->getStartPage()->ID) {
$isRootPage = true;
} else {
$isRootPage = false;
}
$data = array('MenuTitle' => $rootPage->getMenuTitle(), 'Title' => $rootPage->getTitle(), 'Link' => $link, 'ShowChildPages' => $showChildPages, 'ShowSiblings' => $this->showSiblings, 'ChildPages' => $childPageStr, 'IsActivePage' => $isActivePage, 'IsSectionPage' => $isSectionPage, 'IsRootPage' => $isRootPage);
$parser = new SSViewer('SilvercartSubNavigationWidgetEntry');
$renderStr .= $parser->process(new DataObject($data));
return $renderStr;
}