本文整理汇总了PHP中SiteTree::Link方法的典型用法代码示例。如果您正苦于以下问题:PHP SiteTree::Link方法的具体用法?PHP SiteTree::Link怎么用?PHP SiteTree::Link使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SiteTree
的用法示例。
在下文中一共展示了SiteTree::Link方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: Link
public function Link()
{
if (!!$this->Anchor && Controller::curr()->ClassName == 'HomePage') {
return "#" . $this->URLSegment;
} else {
return parent::Link();
}
}
示例2: getPreviewAction
public function getPreviewAction(SiteTree $page, PreviewableDataObject $obj)
{
/*
* $obj is an instance of ExampleObject in this case.
* 'show' can be what ever action you wish the controller to use
*/
return $page->Link('show/' . $obj->ID);
}
示例3: testLinkShortcodes
public function testLinkShortcodes()
{
$linkedPage = new SiteTree();
$linkedPage->URLSegment = 'linked-page';
$linkedPage->write();
$linkedPage->publish('Stage', 'Live');
$page = new SiteTree();
$page->URLSegment = 'linking-page';
$page->Content = sprintf('<a href="[sitetree_link,id=%s]">Testlink</a>', $linkedPage->ID);
$page->write();
$page->publish('Stage', 'Live');
$this->assertContains(sprintf('<a href="%s">Testlink</a>', $linkedPage->Link()), $this->get($page->RelativeLink())->getBody(), '"sitetree_link" shortcodes get parsed properly');
}
示例4: 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;
}
示例5: renderPage
/**
*
* @param SiteTree $page
* The page that should be rendered
* @param string $action
* An action for the page to render
* @param string $outputTo
* 'file' or 'browser'
* @return string
* The filename of the output file
*/
public function renderPage($page, $action = '', $outputTo = null, $outname = '')
{
$link = Director::makeRelative($page->Link($action));
return $this->renderUrl($link, $outputTo, $outname);
}