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

stillwillbe

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

xpank

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

stillwillbe

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

xpank

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

gartes

  • Завсегдатай
  • 1706
  • 131 / 5
  • Е = 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

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

v42bis

  • Захожу иногда
  • 102
  • 12 / 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

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

Нужна помощь ( Joomla установка готового шаблона )

Автор ShadowChaser

Ответов: 5
Просмотров: 109
Последний ответ 25.07.2021, 12:03:20
от ShopES
Материалы дублируют description (описание) пункта меню

Автор kliker_

Ответов: 0
Просмотров: 255
Последний ответ 15.07.2021, 10:45:26
от kliker_
Как сделать меню горизонтальным?

Автор Escander

Ответов: 11
Просмотров: 340
Последний ответ 09.03.2021, 13:31:31
от Escander
Как поменять имя категории, на имя меню этой категории?

Автор Deir

Ответов: 0
Просмотров: 202
Последний ответ 02.03.2021, 09:56:24
от Deir
Пакетная обработка - пропало меню

Автор Paveldz

Ответов: 0
Просмотров: 205
Последний ответ 01.03.2021, 20:15:17
от Paveldz