예제 #1
0
 public function display()
 {
     $menu = JFactory::getApplication()->getMenu();
     $this->module->params->menutype = $this->module->params->menu;
     $this->module->params->endLevel = 2;
     $this->module->params->showAllChildren = true;
     $this->assign('menu', ModMenuHelper::getList($this->module->params));
     $this->assign('active', $menu->getActive());
     $this->assign('lang', JFactory::getLanguage());
     $this->assign('template', JFactory::getDocument()->template);
     $this->assign('params', $this->module->params);
     return parent::display();
 }
예제 #2
0
<?php

/**
 * @package     Joomla.Site
 * @subpackage  mod_menu
 *
 * @copyright   Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */
defined('_JEXEC') or die;
// Include the syndicate functions only once
require_once __DIR__ . '/helper.php';
$list = ModMenuHelper::getList($params);
$base = ModMenuHelper::getBase($params);
$active = ModMenuHelper::getActive($params);
$active_id = $active->id;
$path = $base->tree;
$showAll = $params->get('showAllChildren');
$class_sfx = htmlspecialchars($params->get('class_sfx'));
if (count($list)) {
    require JModuleHelper::getLayoutPath('mod_menu', $params->get('layout', 'default'));
}
예제 #3
0
 /**
  * doRender
  *
  * @param   string $menutype
  *
  * @return  void
  */
 public static function doRender($menutype)
 {
     include_once JPATH_ROOT . '/modules/mod_menu/helper.php';
     $params = new \JRegistry();
     $params->set('menutype', $menutype);
     $params->set('showAllChildren', true);
     $items = \ModMenuHelper::getList($params);
     $active = \ModMenuHelper::getActive($params);
     $active_id = $active->id;
     $path = $active->tree;
     self::renBegin(1);
     foreach ($items as $i => &$item) {
         $class = 'item-' . $item->id;
         if ($item->id == $active_id) {
             $class .= ' current';
         }
         if ($item->type == 'alias' && in_array($item->params->get('aliasoptions'), $path) || in_array($item->id, $path)) {
             $class .= ' active';
         }
         if ($item->deeper) {
             $class .= $item->level < 2 ? ' dropdown' : ' dropdown-submenu';
         } elseif ($item->deeper) {
             $class .= ' deeper';
         }
         if ($item->parent) {
             $class .= ' parent';
         }
         if (!empty($class)) {
             $class = ' class="' . trim($class) . '"';
         }
         echo '<li' . $class . '>';
         // Render the menu item.
         switch ($item->type) {
             case 'separator':
                 $item->flink = '#';
                 require __DIR__ . '/Type/component.php';
                 break;
             case 'url':
             case 'component':
                 require __DIR__ . '/Type/' . $item->type . '.php';
                 break;
             default:
                 require __DIR__ . '/Type/url.php';
                 break;
         }
         // The next item is deeper.
         if ($item->deeper) {
             if ($item->level < 2) {
                 echo '<ul class="dropdown-menu">';
             } else {
                 echo '<ul class="dropdown-menu">';
             }
         } elseif ($item->deeper) {
             echo '<ul>';
         } elseif ($item->shallower) {
             echo '</li>';
             echo str_repeat('</ul></li>', $item->level_diff);
         } else {
             echo '</li>';
         }
     }
     self::renEnd();
 }