/** * Generates the sitemap * * @return string * * @author Sebastian Diel <*****@*****.**> * @since 25.04.2012 */ public function SiteMap() { $siteMap = ''; $productGroupHolders = SilvercartProductGroupHolder::get()->filter('ClassName', 'SilvercartProductGroupHolder'); $metaNavigationHolders = SilvercartMetaNavigationHolder::get()->filter('ClassName', 'SilvercartMetaNavigationHolder'); foreach ($productGroupHolders as $productGroupHolder) { $siteMap .= $this->generateSiteMap($productGroupHolder); } foreach ($metaNavigationHolders as $metaNavigationHolder) { $siteMap .= $this->generateSiteMap($metaNavigationHolder); } return $siteMap; }
/** * Uses the children of SilvercartMetaNavigationHolder to render a subnavigation * with the SilvercartSubNavigation.ss template. * * @param string $identifierCode param only added because it exists on parent::getSubNavigation * to avoid strict notice * * @return string */ public function getSubNavigation($identifierCode = 'SilvercartProductGroupHolder') { $root = $this->dataRecord; $output = ''; if ($root->ClassName != 'SilvercartMetaNavigationHolder') { while ($root->ClassName != 'SilvercartMetaNavigationHolder') { $root = $root->Parent(); if ($root->ParentID == 0) { $root = null; break; } } } if (!is_null($root)) { $elements = array('SubElementsTitle' => $root->MenuTitle, 'SubElements' => $root->Children()); $output = $this->customise($elements)->renderWith(array('SilvercartSubNavigation')); $sisters = SilvercartMetaNavigationHolder::get(); if ($sisters instanceof DataList) { foreach ($sisters as $sister) { if ($sister->ID == $root->ID || $sister->Parent() instanceof SilvercartMetaNavigationHolder) { continue; } $elements = array('SubElementsTitle' => $sister->MenuTitle, 'SubElements' => $sister->Children()); $output .= $this->customise($elements)->renderWith(array('SilvercartSubNavigation')); } } } return $output; }
/** * Returns the footer columns. * * @return DataList */ public function getFooterColumns() { $metanavigationHolder = SilvercartMetaNavigationHolder::get()->filter('ClassName', 'SilvercartMetaNavigationHolder'); return $metanavigationHolder; }