/** * Returns the inherited DefaultGroupView * * @param SilvercartProductGroupPage $context Context * * @return string */ public function getDefaultGroupViewInherited($context = null) { if (is_null($context)) { $context = $this; } $defaultGroupView = $context->DefaultGroupView; if (empty($defaultGroupView) || SilvercartGroupViewHandler::getGroupView($defaultGroupView) === false) { if ($context->Parent() instanceof SilvercartProductGroupPage) { $defaultGroupView = $this->getDefaultGroupViewInherited($context->Parent()); } else { if ($context->Parent() instanceof SilvercartProductGroupHolder) { $defaultGroupView = $this->getDefaultGroupViewInherited($context->Parent()); } else { $defaultGroupView = SilvercartGroupViewHandler::getDefaultGroupView(); } } } return $defaultGroupView; }
$ext = new ReflectionClass('Page_Controller'); if ($ext->getParentClass()->getName() != 'SilvercartPage_Controller') { throw new Exception('Class "Page_Controller" has to extend "SilvercartPage_Controller".'); } } // ---------------------------------------------------------------------------- // add possible group views // ---------------------------------------------------------------------------- SilvercartGroupViewHandler::addGroupView('SilvercartGroupViewList'); SilvercartGroupViewHandler::addGroupView('SilvercartGroupViewTile'); SilvercartGroupViewHandler::addGroupHolderView('SilvercartGroupViewList'); SilvercartGroupViewHandler::addGroupHolderView('SilvercartGroupViewTile'); // ---------------------------------------------------------------------------- // set default group view if not existant // ---------------------------------------------------------------------------- if (is_null(SilvercartGroupViewHandler::getDefaultGroupView())) { SilvercartGroupViewHandler::setDefaultGroupView('SilvercartGroupViewList'); } if (is_null(SilvercartGroupViewHandler::getDefaultGroupHolderView())) { SilvercartGroupViewHandler::setDefaultGroupHolderView('SilvercartGroupViewList'); } if (class_exists('GoogleSitemap') && method_exists('GoogleSitemap', 'register_dataobject')) { GoogleSitemap::register_dataobject('SilvercartProduct', null, '0.2'); } // ---------------------------------------------------------------------------- // add silvercart branding if no other branding is set // ---------------------------------------------------------------------------- if (Config::inst()->get('LeftAndMain', 'application_name') == 'SilverStripe') { Config::inst()->update('LeftAndMain', 'application_name', 'SilverCart - ' . SilvercartConfig::SilvercartFullVersion()); Config::inst()->update('LeftAndMain', 'application_link', 'http://www.silvercart.org'); }