/**
  * 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;
 }
Example #3
0
 /**
  * Returns the footer columns.
  * 
  * @return DataList
  */
 public function getFooterColumns()
 {
     $metanavigationHolder = SilvercartMetaNavigationHolder::get()->filter('ClassName', 'SilvercartMetaNavigationHolder');
     return $metanavigationHolder;
 }