Форум русской поддержки Joomla!® CMS
06.12.2016, 12:19:04 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Перестроить стандартное меню под свои нужды!

 (Прочитано 158 раз)
0 Пользователей и 1 Гость смотрят эту тему.
sesil
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Пол: Мужской
Сообщений: 40


Учусь!


« : 14.04.2016, 05:05:05 »

Доброго времени суток, такая проблема, есть стандартное меню Joomla которое пытаюсь передалать под свои нужды
Код:
<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_menu
 *
 * @copyright   Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

// Note. It is important to remove spaces between elements.
?>
<?php // The menu class is deprecated. Use nav instead. ?>
<ul class="menu<?php echo $class_sfx;?>"<?php
$tag = '';
if ($params->get('tag_id')!= null)
{
$tag = $params->get('tag_id').'';
echo ' id="'.$tag.'"';
}
?>>
<?php
foreach ($list as $i => &$item) :
$class = 'item-'.$item->id;
if ($item->id == $active_id)
{
$class .= ' current';
}

if (in_array($item->id, $path))
{
$class .= ' active';
}
elseif ($item->type == 'alias')
{
$aliasToId = $item->params->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';
}

if (!empty($class))
{
$class = ' class="nav '.trim($class).'"';
}

echo '<li'.$class.'>';

// Render the menu item.
switch ($item->type) :
case 'separator':
case 'url':
case 'component':
case 'heading':
require JModuleHelper::getLayoutPath('mod_menu', 'default_'.$item->type);
break;

default:
require JModuleHelper::getLayoutPath('mod_menu', 'default_url');
break;
endswitch;

// The next item is deeper.
if ($item->deeper)
{
echo '<div class="sub"><div class="sub_top"></div><div class="sub_cont">';
}
// The next item is shallower.
elseif ($item->shallower)
{
echo str_repeat('</div><div class="sub_bottom"></div></div>', $item->level_diff);
}
// The next item is on the same level.
else {
echo '</li>';
}
endforeach;
?></ul>

В этоге должно получатся следующее
Код:
<ul class="h_nav">
<li class="nav"><a href="/" class="i">Главная страница<span>Основная страница</span></a></li>
<li class="nav"><a href="#" class="i">Статьи<span>Каталог статей</span></a></li>
<li class="nav"><a href="#" class="i">FAQ<span>Вопрос/ответ</span></a></li>
<li class="nav"><a href="#" class="i">Советы<span>Советы</span></a></li>
<li class="nav">
<a href="#" class="i">Категория<span>Читы</span></a>
<div class="sub">
<div class="sub_top"></div>
<div class="sub_cont">
<a href="#">Пункт 1</a>
<a href="#">Пункт 2</a>
<a href="#">Пункт 3</a>
<a href="#">Пункт 4</a>
<a href="#">Пункт 5</a>
<a href="#">Пункт 6</a>
<a href="#">CSS v34</a>
</div>
<div class="sub_bottom"></div>
</div>
</li>
<li class="nav"><a href="#" class="i" title="">Видео<span>Страница видео</span></a></li>
<li class="nav"><a href="#" class="i" title="">Новости<span>Страница новостей</span></a></li>
<li class="nav"><a href="#" class="i" title="">Фотоальбом<span>Фотоальбом</span></a></li>
</ul>

Но у меня не получается так как в под категориях меню присутствует код <li> который нужно убирать если этот пункт под категория, я так понимаю строчка отвечает за захват находится тут
Код:
echo '<li'.$class.'>';
Каким условием можно воспользоватся что бы в под категориях не отображалась эта самая li?
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet