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

stillwillbe

  • Новичок
  • 5
  • 0 / 0
Добрый день всем знатокам.
Есть сайт на шаблоне Protostar. В меню присутствуют пункты с выпадающими ссылочными пунктами, причем сам родитель тоже имеет свою ссылку. На десктопной версии работает по наведению и по клику - все красиво. На мобильной версии, естественно, к подпунктам не добраться, т.к срабатывает ссылка родительского элемента. Вопрос: как решить данную проблему? Отдельного меню для мобильной версии в protostare нет. Заменить ссылку на #? Как? Не закрывать выпадающее меню по времени? Как? Спасибо всем, кто откликнется.
« Последнее редактирование: 10.05.2021, 21:55:24 от stillwillbe »
*

xpank

  • Захожу иногда
  • 446
  • 39 / 0
Как вариант.
Дублировать в шаблоне позицию с меню и переименовать. Настроить отображение каждой из этих двух позиций в зависимости от версии сайта. Опубликовать меню оптимизированное под мобильные устройства в новой позиции.
*

stillwillbe

  • Новичок
  • 5
  • 0 / 0
Ну, в этом есть резон. Только позволит ли protostar добавить позицию - надо глянуть.
Однозначно, спасибо за идею.
*

xpank

  • Захожу иногда
  • 446
  • 39 / 0
Цитировать
Только позволит ли protostar добавить позицию - надо глянуть.
Позволит, но сам protostar может быть затерт при обновлении. Лучше клонировать шаблон с новым именем и редактировать уже его под себя.
*

gartes

  • Завсегдатай
  • 1856
  • 142 / 6
  • Е = mс²
Позволит, но сам protostar может быть затерт при обновлении.
100% - затрет при обновлении - Клонировать это не сложно - Конечно же - это правильно !
*

stillwillbe

  • Новичок
  • 5
  • 0 / 0
Сам шаблон переименован. Но, если честно, не представляю, как конкретно указать, чтобы при разрешении экрана таком-то брался для меню модуль такой-то....
Код в index.php такой:
<?php if ($this->countModules('position-1')) : ?>
                                <nav class="navigation" role="navigation">
                                    <div class="navbar pull-left">
                                        <a class="btn btn-navbar collapsed" data-toggle="collapse"
                                           data-target=".nav-collapse">
                                            <span class="element-invisible"><?php echo JTEXT::_('TPL_PROTOSTAR_TOGGLE_MENU'); ?></span>
                                            <span class="icon-bar"></span>
                                            <span class="icon-bar"></span>
                                            <span class="icon-bar"></span>
                                        </a>
                                    </div>
                                    <div class="nav-collapse">
                                        <jdoc:include type="modules" name="position-1" style="none"/>
                                    </div>
                                </nav>
                            <?php endif; ?>
Позиция 1 для меню в протостаре
« Последнее редактирование: 09.05.2021, 11:19:27 от stillwillbe »
*

xpank

  • Захожу иногда
  • 446
  • 39 / 0
Добавить нужные CSS классы. например nav-pc и nav-mobi. Ну и стилями через @media скрывать и показывать эти классы - display:none, display:block.
*

v42bis

  • Захожу иногда
  • 133
  • 13 / 1
Вариант без дублирования модулей, позиций и дополнительных пунктов меню

Копируем содержимое modules/mod_menu/tmpl/ в templates/ВАШ_ШАБЛОН/html/mod_menu чтобы можно было кастомизировать шаблон модуля и не зависеть от случайного "затирания" при обновлении.

В файле templates/protostar/html/mod_menu/default.php ищем фрагмент кода
Код
	// The next item is deeper.
if ($item->deeper)
{
echo '<ul class="nav-child unstyled small">';
}
   
==> echo '<ul class="nav-child unstyled small">';
// это открывающий тег ul для каждого нового дочернего списка

Изменяем, например, на echo '<i class="subMenuToggler">▼</i><ul class="nav-child unstyled small">';
И рядом с пунктом меню, который имеет вложение (дочерние элементы) будет выводиться стрелочка.

клику на элемент открываем/скрываем дочерний список.
Код
jQuery(document).ready(function(){
jQuery('.subMenuToggler').on('click', function(){
jQuery(this).next().toggle();
});
});

Добавляем соль/сахар по вкусу дописываем CSS
*

stillwillbe

  • Новичок
  • 5
  • 0 / 0
Спасибо большое! Будем разбираться!
*

stillwillbe

  • Новичок
  • 5
  • 0 / 0
У меня стоит такой код:
if ($item->deeper)
   {
      $class .= ' deeper';
   }
*

fbr

  • Завсегдатай
  • 1609
  • 187 / 7
У меня стоит такой код:
if ($item->deeper)
   {
      $class .= ' deeper';
   }
смотрите внимательно до конца страницы
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод поля поиска первым пунктом в меню

Автор Mick_20

Ответов: 3
Просмотров: 257
Последний ответ 03.02.2023, 13:02:46
от Mick_20
Текст меню выходит за границы меню.

Автор 7733039

Ответов: 1
Просмотров: 604
Последний ответ 05.08.2022, 16:32:00
от marksetter
data-toggle data-target в меню Joomla?

Автор romagromov

Ответов: 6
Просмотров: 567
Последний ответ 14.07.2022, 20:33:55
от romagromov
syntax error, unexpected token "\" - После обновления до последней версии

Автор Evgenii9626

Ответов: 1
Просмотров: 609
Последний ответ 08.07.2022, 06:57:58
от marksetter
Меню jux megamenu как настроить направление выпадающего меню

Автор piter2022

Ответов: 0
Просмотров: 400
Последний ответ 05.04.2022, 18:03:28
от piter2022