예제 #1
0
 function initMenu($id, $params)
 {
     $loadExtJs = (bool) $params->get('loadExtJS', true);
     $loadMethod = $params->get('loadMethod', 'ready');
     AriExtMenuHelper::loadAssets($loadExtJs);
     $defMenuConfig = array('direction' => 'horizontal', 'delay' => 0.2, 'autoWidth' => true, 'transitionType' => 'fade', 'transitionDuration' => 0.3, 'animate' => true);
     $config = array();
     foreach ($defMenuConfig as $key => $defValue) {
         $value = AriUtils::parseValueBySample($params->get($key, $defValue), $defValue);
         if ($value != $defValue) {
             $config[$key] = $value;
         }
     }
     $zIndex = intval($params->get('zIndex', -1), 10);
     if ($zIndex > 0) {
         $config['zIndex'] = $zIndex;
     }
     $doc =& JFactory::getDocument();
     if ($loadMethod == 'load') {
         $doc->addScriptDeclaration(sprintf(';Ext.EventManager.on(window, "load", function() { new Ext.ux.Menu("' . $id . '", %1$s); Ext.get("' . $id . '").select(".ux-menu-sub").removeClass("ux-menu-init-hidden"); });', AriJSONHelper::encode($config)));
     } else {
         $doc->addScriptDeclaration(sprintf(';(function() { var _menuInit = function() { new Ext.ux.Menu("' . $id . '", %1$s); Ext.get("' . $id . '").select(".ux-menu-sub").removeClass("ux-menu-init-hidden"); }; if (!Ext.isIE || typeof(MooTools) == "undefined" || typeof(MooTools.More) == "undefined") Ext.onReady(_menuInit); else window.addEvent("domready", _menuInit); })();', AriJSONHelper::encode($config)));
     }
     AriExtMenuHelper::addCustomStyles($id, $params);
 }
예제 #2
0
/*
 * ARI Ext menu Joomla! module
 *
 * @package		ARI Ext Menu Joomla! module.
 * @version		1.0.0
 * @author		ARI Soft
 * @copyright	Copyright (c) 2009 www.ari-soft.com. All rights reserved
 * @license		GNU/GPL (http://www.gnu.org/copyleft/gpl.html)
 * 
 */
defined('_JEXEC') or die('Restricted access');
require_once dirname(__FILE__) . '/mod_ariextmenu/kernel/class.AriKernel.php';
AriKernel::import('Utils.Utils');
AriKernel::import('Menu.Menu');
AriKernel::import('Web.HtmlHelper');
AriKernel::import('ExtMenu.ExtMenu');
AriKernel::import('Template.Template');
$menu = new AriMenu($params->get('menutype', 'mainmenu'));
$menuLevel = $menuStartLevel = intval($params->get('startLevel', 0), 10);
$menuEndLevel = intval($params->get('endLevel', 0), 10);
$uniqueId = (bool) $params->get('uniqId', false);
$activeMenuItem = $menu->getActive();
// Template parameters
$menuDirection = $params->get('direction');
$menuId = !$uniqueId ? 'ariext' . $module->id : uniqid('aext', false);
$hlCurrentItem = (bool) $params->get('highlightCurrent', true) && !is_null($activeMenuItem);
$hlOnlyActiveItems = (bool) $params->get('onlyActiveItems', false);
$activeTopId = $activeMenuItem ? $activeMenuItem->id : 0;
AriExtMenuHelper::initMenu($menuId, $params);
require JModuleHelper::getLayoutPath('mod_ariextmenu');