fix lndropdown-default.php: target=...
parent
9f4da853c0
commit
165c82a8b0
|
@ -1,42 +0,0 @@
|
||||||
<?php
|
|
||||||
/**
|
|
||||||
* @package Joomla.Site
|
|
||||||
* @subpackage mod_menu
|
|
||||||
*
|
|
||||||
* @copyright (C) 2021 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\HTML\HTMLHelper;
|
|
||||||
use Joomla\CMS\Language\Text;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$id = '';
|
|
||||||
if ($tagId = $params->get('tag_id', ''))
|
|
||||||
{
|
|
||||||
$id = ' id="' . $tagId . '"';
|
|
||||||
}
|
|
||||||
|
|
||||||
?>
|
|
||||||
<nav class="navbar navbar-expand-lg">
|
|
||||||
<div class="container-fluid float-end float-sm-none">
|
|
||||||
<button class="navbar-toggler navbar-toggler-right" type="button" data-bs-toggle="collapse" data-bs-target="#navbar<?php echo $module->id; ?>" aria-controls="navbar<?php echo $module->id; ?>" aria-expanded="false" aria-label="<?php echo Text::_('MOD_MENU_TOGGLE'); ?>">
|
|
||||||
<span class="bi-list fs-2" aria-hidden="true"></span>
|
|
||||||
</button>
|
|
||||||
<div class="collapse navbar-collapse" id="navbar<?php echo $module->id; ?>">
|
|
||||||
<ul<?php echo $id; ?> class="navbar-nav me-auto <?php echo $class_sfx; ?>">
|
|
||||||
<?php foreach ($list as $i => &$item)
|
|
||||||
{
|
|
||||||
if ($item->level == $params['startLevel']) {
|
|
||||||
require ModuleHelper::getLayoutPath('mod_menu', 'item');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</nav>
|
|
|
@ -1 +0,0 @@
|
||||||
<a id="mi-<?=$item->id;?>" class="<?=$mi_class;?>" <?=$aattributes;?><?php if ($hasChildren): ?> data-bs-toggle="dropdown" aria-expanded="false"<?php endif; ?>><?=$item->title;?></a>
|
|
|
@ -1,8 +0,0 @@
|
||||||
<?php if ($hasChildren): ?><span id="mi-<?=$item->id;?>" class="<?=$mi_class;?>" data-bs-toggle="dropdown" aria-expanded="false"><?php endif;?>
|
|
||||||
<a class="nav-link" href="<?=$item->flink;?>"<?php
|
|
||||||
foreach ($attributes as $name => &$value){
|
|
||||||
echo ' ' . $name . '="' . $value. '"';
|
|
||||||
}
|
|
||||||
unset($value);
|
|
||||||
?>><?=$item->title;?></a>
|
|
||||||
<?php if ($hasChildren): ?></span><?php endif; ?>
|
|
|
@ -1,90 +0,0 @@
|
||||||
<?php
|
|
||||||
use Joomla\CMS\Helper\ModuleHelper;
|
|
||||||
use Joomla\CMS\HTML\HTMLHelper;
|
|
||||||
|
|
||||||
$hasChildren = $item->hasChildren() && ($item->level < $params['endLevel']);
|
|
||||||
$hasParent = $item->hasParent();
|
|
||||||
|
|
||||||
$itemParams = $item->getParams();
|
|
||||||
$class = 'item-' . $item->id;
|
|
||||||
$mi_class = 'nav-link';
|
|
||||||
$attributes = array();
|
|
||||||
|
|
||||||
if ($hasParent)
|
|
||||||
{
|
|
||||||
$mi_class .= " dropdown-item";
|
|
||||||
} else {
|
|
||||||
// $class .= " nav-item";
|
|
||||||
}
|
|
||||||
$class .= " nav-item";
|
|
||||||
|
|
||||||
if ($hasChildren)
|
|
||||||
{
|
|
||||||
$class .= " dropdown";
|
|
||||||
$mi_class .= " dropdown-toggle";
|
|
||||||
$attributes["role"] = 'button';
|
|
||||||
}
|
|
||||||
if ($item->type === 'separator')
|
|
||||||
{
|
|
||||||
$class .= ' divider';
|
|
||||||
}
|
|
||||||
if ($item->id == $default_id)
|
|
||||||
{
|
|
||||||
$class .= ' default';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($item->id == $active_id || ($item->type === 'alias' && $itemParams->get('aliasoptions') == $active_id))
|
|
||||||
{
|
|
||||||
$class .= ' current';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($item->browserNav == 1)
|
|
||||||
{
|
|
||||||
$attributes['target'] = '_blank';
|
|
||||||
$attributes['rel'] = 'noopener noreferrer';
|
|
||||||
|
|
||||||
if ($item->anchor_rel == 'nofollow')
|
|
||||||
{
|
|
||||||
$attributes['rel'] .= ' nofollow';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
elseif ($item->browserNav == 2)
|
|
||||||
{
|
|
||||||
$options = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,' . $params->get('window_open');
|
|
||||||
|
|
||||||
$attributes['onclick'] = "window.open(this.href, 'targetWindow', '" . $options . "'); return false;";
|
|
||||||
}
|
|
||||||
|
|
||||||
echo '<li class="' . $class . '">';
|
|
||||||
|
|
||||||
switch ($item->type) :
|
|
||||||
case 'heading':
|
|
||||||
require ModuleHelper::getLayoutPath('mod_menu', 'item-heading');
|
|
||||||
break;
|
|
||||||
case 'component':
|
|
||||||
case 'url':
|
|
||||||
require ModuleHelper::getLayoutPath('mod_menu', 'item-url');
|
|
||||||
break;
|
|
||||||
case 'separator':
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
require ModuleHelper::getLayoutPath('mod_menu', 'item-url');
|
|
||||||
break;
|
|
||||||
endswitch;
|
|
||||||
|
|
||||||
if ($hasChildren)
|
|
||||||
{
|
|
||||||
echo '<ul class="dropdown-menu" aria-labelledby="mi-'.$item->id.'">';
|
|
||||||
|
|
||||||
foreach ($item->getChildren() as $i => &$item)
|
|
||||||
{
|
|
||||||
|
|
||||||
require ModuleHelper::getLayoutPath('mod_menu', 'item');
|
|
||||||
}
|
|
||||||
|
|
||||||
echo "</ul>";
|
|
||||||
}
|
|
||||||
|
|
||||||
echo "</li>";
|
|
||||||
|
|
||||||
?>
|
|
|
@ -0,0 +1,107 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* @package Joomla.Site
|
||||||
|
* @subpackage mod_menu
|
||||||
|
*
|
||||||
|
* @copyright (C) 2021 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\HTML\HTMLHelper;
|
||||||
|
use Joomla\CMS\Language\Text;
|
||||||
|
|
||||||
|
if (!defined('__LNDROPDOWN')){
|
||||||
|
define('__LNDROPDOWN','');
|
||||||
|
function menu_item($item, $endlevel)
|
||||||
|
{
|
||||||
|
$attributes = array();
|
||||||
|
|
||||||
|
$hasChildren = $item->hasChildren() && ($item->level < $endlevel);
|
||||||
|
$hasParent = $item->hasParent();
|
||||||
|
|
||||||
|
$isHeading = $item->type == 'heading';
|
||||||
|
|
||||||
|
$li_classes = "ln-nav-item pe-pointer px-1 mx-2";
|
||||||
|
|
||||||
|
if ($item->browserNav == 1)
|
||||||
|
{
|
||||||
|
$attributes['target'] = '_blank';
|
||||||
|
$attributes['rel'] = 'noopener noreferrer';
|
||||||
|
|
||||||
|
if ($item->anchor_rel == 'nofollow')
|
||||||
|
{
|
||||||
|
$attributes['rel'] .= ' nofollow';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
elseif ($item->browserNav == 2)
|
||||||
|
{
|
||||||
|
$options = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,' . $params->get('window_open');
|
||||||
|
$attributes['onclick'] = "window.open(this.href, 'targetWindow', '" . $options . "'); return false;";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
?><li class="<?=$li_classes;?>">
|
||||||
|
<?php
|
||||||
|
if (!$isHeading)
|
||||||
|
{
|
||||||
|
?><a href="<?=$item->flink;?>"<?php
|
||||||
|
foreach ($attributes as $n => $v)
|
||||||
|
{
|
||||||
|
echo ' ' . $n . '="' . $v . '"';
|
||||||
|
}
|
||||||
|
?>><?=$item->title;?></a><?php
|
||||||
|
}
|
||||||
|
if ($hasChildren)
|
||||||
|
{
|
||||||
|
?><input type="checkbox" id="lnm-cb-<?=$item->id;?>" class="ln-toggle"><label for="lnm-cb-<?=$item->id;?>" class="ln-toggler">
|
||||||
|
<?php if ($isHeading): ?><span class="ln-nav-item pe-pointer"><?=$item->title;?></span><?php endif; ?><span class="bi-caret-down pe-pointer" aria-hidden="true"></span>
|
||||||
|
</label>
|
||||||
|
<div class="ln-toggled ln-dropdown" id="">
|
||||||
|
<ul class="ln-nav"><?php
|
||||||
|
foreach ($item->getChildren() as $i => &$item)
|
||||||
|
{
|
||||||
|
menu_item($item, $endlevel);
|
||||||
|
}
|
||||||
|
unset($item);
|
||||||
|
?></ul>
|
||||||
|
</div>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
?></li><?php
|
||||||
|
}
|
||||||
|
|
||||||
|
function menu($id, $items, $endlevel)
|
||||||
|
{
|
||||||
|
?>
|
||||||
|
<div class="ln-navbar ln-collapse">
|
||||||
|
<input type="checkbox" id="lnm-cb-<?=$id;?>" class="ln-toggle">
|
||||||
|
<label for="lnm-cb-<?=$id;?>" class="ln-toggler">
|
||||||
|
<span class="bi-list pe-pointer fs-2r5" aria-hidden="true"></span>
|
||||||
|
</label>
|
||||||
|
<div class="ln-toggled" id="">
|
||||||
|
<ul class="ln-nav"><?php
|
||||||
|
foreach ($items as $i => &$item)
|
||||||
|
{
|
||||||
|
menu_item($item, $endlevel);
|
||||||
|
}
|
||||||
|
unset($item);
|
||||||
|
?></ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$items = array();
|
||||||
|
foreach ($list as $i => &$item) {
|
||||||
|
if ($item->level == $params['startLevel']) {
|
||||||
|
array_push($items, $item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
unset($item);
|
||||||
|
|
||||||
|
menu('m'.$module->id, $items, $params['endLevel']);
|
||||||
|
?>
|
Loading…
Reference in New Issue