Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 1 Ответов
  • 2019 Просмотров
*

Snippet

  • Захожу иногда
  • 62
  • 9 / 0
Привет, всем! Буду писать все свои действия с самого начала, чтобы было понятно.
Есть у меня responsive CSS3 меню такой вот структурой:
Код: xml
<ul>
<li>
   <a href="#">
Меню
   </a>
<div class="menu-dropdown"><!-- Выпадающий блок субменю -->
  <ul class="drop-submenu">
   <li>
      <a href="#">Субменю</a><!-- Пункт субменю -->
   </li>
   <li class="multi-submenu">
     <a href="#">Субменю</a><!-- Пункт субменю -->
<ul class="drop-submenu"><!-- Выпадающий блок субменю второго уровня-->
 <li>
    <a href="#">Суб-субменю</a>
</li>
        </ul>
   </li>
 </ul>
</div>
</ul>
На первом уровне перед <ul class="drop-submenu"> есть div, а на втором его нет.

Чтобы реализовать такое меню с div я начал править файл default.php модуля меню. Сперва изменил:
Код: php
// The next item is deeper.
if ($item->deeper)
{
echo '<ul class="nav-child unstyled small">';
}
на
Код: php
// The next item is deeper.
if ($item->deeper)
{
echo '<div class="menu-dropdown"><ul class="drop-submenu">';
}
И конечно у меня после всех манипуляций в подпунктах меню, которые являются родителями других появился <div class="menu-dropdown"><ul class="drop-submenu">.
И чтобы убрать этот  <div class="menu-dropdown"> из всех подпунктов, и оставить только на первом уровне я создал условие:
Код: php
// The next item is deeper.
if ($item->deeper)
{
if ($item->level < 2) {
echo '<div class="menu-dropdown"><ul class="drop-submenu">';
}
elseif ($item->deeper) {

echo '<ul class="drop-submenu">';
}
}
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>

Вроде работает, но если условие выполняет <div class="menu-dropdown">, тогда не ясно откуда берется закрывающий тег </div>? видно система добавляет...
У кого-нибудь есть мысль, как создать условие по другому, чтобы после родительского пункта меню добавлялся <div class="menu-dropdown"> для подкатегории, а в подкатегориях нет добавлялся для следующих подуровней?
« Последнее редактирование: 18.06.2014, 19:02:41 от Snippet »
*

Snippet

  • Захожу иногда
  • 62
  • 9 / 0
Re: Условия вывода <div class=""> в меню
« Ответ #1 : 19.06.2014, 04:30:26 »
Может кто вопрос не понял? Вот создал демку http://demo.joomsnipp.ru/CSS-dropdown-menu-1/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Меню схлопывается после перезагрузки страницы

Автор onelawyer

Ответов: 10
Просмотров: 1242
Последний ответ 11.10.2017, 14:50:48
от effrit
По ID'у пункта меню получить ссылку для перехода

Автор GRIG

Ответов: 4
Просмотров: 2555
Последний ответ 08.05.2017, 17:13:05
от Aleks.Denezh
Как реализовать добавление class в ссылку или кнопку?

Автор leo78

Ответов: 0
Просмотров: 972
Последний ответ 16.07.2015, 18:26:10
от leo78
Дополнительные параметры пунктов меню для плагина

Автор enshtein

Ответов: 3
Просмотров: 2728
Последний ответ 06.11.2014, 16:48:17
от lebmarg
Поле вывода календаря как d-m-Y. XML элемент календарь

Автор oppo

Ответов: 0
Просмотров: 1346
Последний ответ 19.07.2014, 15:43:47
от oppo