예제 #1
0
 function getFormattedMenu($menu, &$params)
 {
     global $mainframe;
     // get the base menu data structure
     // Run the basic formatter
     modRokNavMenuHelper::formatMenu($menu);
     //see if the custom_formatter is set.
     $template_formatter = $params->get('custom_formatter', "default");
     $default_formatter = $params->get('default_formatter', "default");
     $template_named_formatter_path = JPATH_ROOT . DS . 'templates' . DS . $mainframe->getTemplate() . DS . 'html' . DS . 'mod_roknavmenu' . DS . 'formatters' . DS . $template_formatter . '.php';
     $template_default_formatter_path = JPATH_ROOT . DS . 'templates' . DS . $mainframe->getTemplate() . DS . 'html' . DS . 'mod_roknavmenu' . DS . 'formatter.php';
     $default_named_formatter_path = JPATH_ROOT . DS . 'modules' . DS . 'mod_roknavmenu' . DS . 'formatters' . DS . $default_formatter . '.php';
     if (JFile::exists($template_named_formatter_path)) {
         //there is a custom_formatter defined
         //Run the template formatter if its there if not run the default formatter
         //see if there is a custom formatter defined
         require_once $template_named_formatter_path;
     } else {
         if (JFile::exists($template_default_formatter_path)) {
             require_once $template_default_formatter_path;
         } else {
             if (JFile::exists($default_named_formatter_path)) {
                 require_once $default_named_formatter_path;
             }
         }
     }
     $formatter = new RokNavMenuFormatter();
     $formatter->format_tree($menu);
     return $menu;
 }
예제 #2
0
 protected function getFormattedMenu($menu, &$params)
 {
     $app = JFactory::getApplication();
     // get the base menu data structure
     // Run the basic formatter
     $this->formatMenu($menu);
     $default_module_theme_dir = JPath::clean('/modules/mod_roknavmenu/themes');
     $theme = $this->getThemePath($params);
     $theme_name = basename($params->get('theme', $theme));
     $formatter_path = $this->getFormatterPath($params);
     //load the formatter
     require_once $formatter_path;
     $theme_type = 'Template';
     // Find if this is a Default or Template theme
     if (dirname(JPath::clean($params->get('theme'))) == $default_module_theme_dir) {
         $theme_type = 'Default';
     }
     // run the formatter class
     $theme_formatter_class = 'RokNavMenuFormatter' . str_replace('-', '', $theme_type . $theme_name);
     if (class_exists($theme_formatter_class)) {
         $formatter = new $theme_formatter_class();
         $formatter->format_tree($menu);
     } else {
         if (class_exists('RokNavMenuFormatter')) {
             $formatter = new RokNavMenuFormatter();
             $formatter->format_tree($menu);
         }
     }
     return $menu;
 }