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

stillwillbe

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

xpank

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

stillwillbe

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

xpank

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

gartes

  • Завсегдатай
  • 1859
  • 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

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

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

Версии РНР и Joomla 3

Автор Ebelous

Ответов: 6
Просмотров: 411
Последний ответ 29.02.2024, 17:50:02
от web1
Не могу обновить Joomla 2.5.28 до 3 или 4 версии

Автор esparce

Ответов: 1
Просмотров: 780
Последний ответ 19.09.2023, 07:55:40
от Vastriet
Некоторые плагины и темы не работают на другой версии php

Автор max.slanskii

Ответов: 1
Просмотров: 650
Последний ответ 28.07.2023, 00:11:47
от sivers
После обновления до Joomla 3.7 в админке в меню "Компоненты" пропали пункты

Автор lolitma3

Ответов: 39
Просмотров: 11545
Последний ответ 15.06.2023, 11:55:16
от Victor333
Вывод поля поиска первым пунктом в меню

Автор Mick_20

Ответов: 3
Просмотров: 577
Последний ответ 03.02.2023, 13:02:46
от Mick_20