Is there a function/method to add a link to the next sibling inside a page? For example for portfolio pages to add a 'go to next project' link. Thanks!
We've moved the forum!
Please use forum.silverstripe.org for any new questions
(announcement).
The forum archive will stick around, but will be read only.
You can also use our Slack channel
or StackOverflow to ask for help.
Check out our community overview for more options to contribute.
There's no built in function for this that I know of, but it's fairly easy to add to your Page controller:
function NextSibling() {
$pages = DataObject::get("SiteTree", "ParentID = {$this->ParentID} AND Sort > {$this->Sort}", "Sort", "", 1);
if($pages) return $pages->First();
}
function PreviousSibling() {
$pages = DataObject::get("SiteTree", "ParentID = {$this->ParentID} AND Sort < {$this->Sort}", "Sort DESC", "", 1);
if($pages) return $pages->First();
}
This is most efficient way I could find of doing it anyway.
Thank you for this! And for pointing out the use of a query in this situation.