Current Path :
/
home
/
develito
/
.trash
/
v6
/
modules
/
mod_menu
/
tmpl
/
Or
Select Your Path :
Upload File :
New :
File
Dir
//home/develito/.trash/v6/modules/mod_menu/tmpl/default.php
<?php /** * @package Joomla.Site * @subpackage mod_menu * * @copyright (C) 2009 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Helper\ModuleHelper; use Joomla\CMS\Language\Text; /** @var Joomla\CMS\WebAsset\WebAssetManager $wa */ $wa = $app->getDocument()->getWebAssetManager(); $wa->getRegistry()->addExtensionRegistryFile('mod_menu'); $wa->usePreset('mod_menu.menu'); $tagId = $params->get('tag_id', '') ?: 'mod-menu' . $module->id; $id = ' id="' . htmlspecialchars($tagId, ENT_QUOTES, 'UTF-8') . '"'; $startLevel = (int) $params->get('startLevel', 1); // The menu class is deprecated. Use mod-menu instead ?> <ul<?php echo $id; ?> class="mod-menu mod-list nav <?php echo $class_sfx; ?>"> <?php foreach ($list as $i => &$item) { $itemParams = $item->getParams(); $class = 'nav-item item-' . $item->id; if ($item->id == $default_id) { $class .= ' default'; } if ($item->id == $active_id || ($item->type === 'alias' && $itemParams->get('aliasoptions') == $active_id)) { $class .= ' current'; } if (in_array($item->id, $path)) { $class .= ' active'; } elseif ($item->type === 'alias') { $aliasToId = $itemParams->get('aliasoptions'); if (count($path) > 0 && $aliasToId == $path[count($path) - 1]) { $class .= ' active'; } elseif (in_array($aliasToId, $path)) { $class .= ' alias-parent-active'; } } if ($item->type === 'separator') { $class .= ' divider'; } if ($item->deeper) { $class .= ' deeper'; } if ($item->parent) { $class .= ' parent'; } echo '<li class="' . $class . '">'; // The next item is deeper - add toggle only here it is a heading or separator if ($item->deeper && (int) $item->level === $startLevel && in_array($item->type, ['separator', 'heading'])) { // Add a toggle button. echo '<button class="mod-menu__toggle-sub" aria-expanded="false">'; } switch ($item->type) : case 'separator': case 'component': case 'heading': case 'url': require ModuleHelper::getLayoutPath('mod_menu', 'default_' . $item->type); break; default: require ModuleHelper::getLayoutPath('mod_menu', 'default_url'); break; endswitch; // The next item is deeper. if ($item->deeper) { // Check type - add only on first level // @todo aria-label - set in menu item ??? if ((int) $item->level === $startLevel) { switch ($item->type) { case 'heading': case 'separator': echo '<span class="icon-chevron-down" aria-hidden="true">' . '</span></button>'; break; default: echo '<button class="mod-menu__toggle-sub" aria-expanded="false">' . '<span class="icon-chevron-down" aria-hidden="true"></span>' . '<span class="visually-hidden">' . Text::sprintf('MOD_MENU_TOGGLE_SUBMENU_LABEL', $item->title) . '</span>' . '</button>'; } } echo '<ul class="mod-menu__sub list-unstyled small">'; } elseif ($item->shallower) { // The next item is shallower. echo '</li>'; echo str_repeat('</ul></li>', $item->level_diff); } else { // The next item is on the same level. echo '</li>'; } } ?></ul>