From a159033fa6aa996d143f3f49081aa9e09c749874 Mon Sep 17 00:00:00 2001 From: minimalic Date: Tue, 21 May 2024 21:12:51 +0200 Subject: [PATCH] Add new footer menu list --- src/Extensions/SiteTreeExtension.php | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/Extensions/SiteTreeExtension.php b/src/Extensions/SiteTreeExtension.php index 7837f9c..436963f 100644 --- a/src/Extensions/SiteTreeExtension.php +++ b/src/Extensions/SiteTreeExtension.php @@ -3,7 +3,8 @@ namespace minimalic\SiteTools\Extensions; use SilverStripe\ORM\DataExtension; - +use SilverStripe\ORM\ArrayList; +use SilverStripe\CMS\Model\SiteTree; use SilverStripe\Forms\FieldList; use SilverStripe\Forms\CheckboxField; @@ -36,4 +37,29 @@ public function updateSettingsFields(FieldList $fields) ], "ShowInSearch"); } + /** + * Generates footer menu from 1st level pages + * + * @return ArrayList + */ + public function getFooterMenu() + { + $pages = SiteTree::get()->filter([ + "ShowInFooter" => 1, + "ParentID" => 0, + ]); + + $visiblePages = []; + + if (isset($visiblePages)) { + foreach ($pages as $page) { + if ($page->canView()) { + $visiblePages[] = $page; + } + } + } + + return new ArrayList($visiblePages); + } + }