Ответить Новая тема Новый опрос 
 Модуль custommenu в мобильной версии
adwebzoom


Cпециалист
Сообщений: 123
Регистрация: 05-11-2013


14-02-2019 16:50
Доброго дня!
В мобильной версии есть меню которое при нажатии раскрывается, однако оно раскрыто всегда и отображает категории магазина. Как сделать, чтобы меню при открытии страницы по умолчанию было свернуто? Пробовал через css в display указать nonу !impotent - меню свернуто, но кнопка перестает работать, т.е. меню не раскрывается. Подскажите где искать решение? Заранее благодарен!

В одном из шаблонов данного модуля, такой код:
Код:
<ul id="ma-mobilemenu" class="tree   mobilemenu nav-collapse collapse">
                    {foreach from=$blockCategTree.children item=child name=blockCategTree}
                        {if $smarty.foreach.blockCategTree.last}
                            {include file="$branche_tpl_path" node=$child last='true'}
                        {else}
                            {include file="$branche_tpl_path" node=$child}
                        {/if}
                    {/foreach}
                </ul>


В другом шаблоне, такой:
Код:
<ul id="ma-mobilemenu" class="tree {if $isDhtml}dhtml{/if}  mobilemenu nav-collapse collapse">

                    {foreach from=$blockCategTree.children item=child name=blockCategTree}

                        {if $smarty.foreach.blockCategTree.last}

                            {include file="$branche_tpl_path" node=$child last='true'}

                        {else}

                            {include file="$branche_tpl_path" node=$child}

                        {/if}

                    {/foreach}


подсказали что надо смотреть js скрипт
Код:
$(document).ready(function () {
  
    $("ul.mobilemenu li span.grower").each(function(){
        $(this).append('<span class="head"><a href="javascript:void(0)"></a></span>');
      });
  
    //$('ul.mobilemenu').mobilemenu();
    $('#ma-mobilemenu').css('display','none');
    $("ul.mobilemenu li.active").each(function(){
        $(this).children().next("ul").css('display', 'block');
    });
  
    //mobile
    $('.btn-navbar').click(function() {
      
        var chk = 0;
        if ( $('#navbar-inner').hasClass('navbar-inactive') && ( chk==0 ) ) {
            $('#navbar-inner').removeClass('navbar-inactive');
            $('#navbar-inner').addClass('navbar-active');
            $('#ma-mobilemenu').css('display','block');
            chk = 1;
        }
        if ($('#navbar-inner').hasClass('navbar-active') && ( chk==0 ) ) {
            $('#navbar-inner').removeClass('navbar-active');
            $('#navbar-inner').addClass('navbar-inactive');          
            $('#ma-mobilemenu').css('display','none');
            chk = 1;
        }
        //$('#ma-mobilemenu').slideToggle();
    });  
  
});


Пробовал методом тыка менять значения в скрипте, но так и не получилось. Может не в нем надо править? Если есть у кого-то похожий модуль, наверняка для посетителей сайта было бы удобнее со свернутым меню чем с раскрытым, давайте вместе подумаем, как его свернуть по умолчанию.
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


14-02-2019 17:23
Цитата:( adwebzoom @ 14-02-2019 17:50 Смотреть сообщение )
В мобильной версии есть меню которое при нажатии раскрывается, однако оно раскрыто всегда и отображает категории магазина. Как сделать, чтобы меню при открытии страницы по умолчанию было свернуто? Пробовал через css в display указать nonу !impotent - меню свернуто, но кнопка перестает работать, т.е. меню не раскрывается. Подскажите где искать решение? Заранее благодарен!

Без кода найти и исправить ошибку невозможно!
Приложите ссылку в ИМ к сообщению или в ЛС или приложите архив с модулем.

Цитата:( adwebzoom @ 14-02-2019 17:50 Смотреть сообщение )
Может не в нем надо править? Если есть у кого-то похожий модуль, наверняка для посетителей сайта было бы удобнее со свернутым меню чем с раскрытым, давайте вместе подумаем, как его свернуть по умолчанию.

Ваш модуль реализован на основе стандартного "blockcategories" в котором описанной вами проблемы нет.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


14-02-2019 22:11
Найдите в шаблоне модуля следующий код:
Код:
<ul id="ma-mobilemenu" class="tree dhtml mobilemenu nav-collapse collapse">

и удалите: tree и dhtml.
Если правка указанная выше не поможет - удалите файл treeManagement.js в директории шаблона (возможна ошибка если в ИМ установлен модуль "blockcategories").
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
adwebzoom


Cпециалист
Сообщений: 123
Регистрация: 05-11-2013


14-02-2019 22:49
Цитата:( Алекс @ 14-02-2019 23:11 Смотреть сообщение )
и удалите: tree и dhtml.
Если правка указанная выше не поможет - удалите файл treeManagement.js в директории шаблона (возможна ошибка если в ИМ установлен модуль "blockcategories").


модуль в шаблоне создает два файла в одном (megamenu.tpl) из которых есть указанные Вами строчки
Код:
<ul id="ma-mobilemenu" class="tree {if $isDhtml}dhtml{/if}  mobilemenu nav-collapse collapse">

если удалить tree и dhtml, то меню по умолчанию скрыто, но при его раскрытии отображаются не только категории, но и подкатегории 2-4 уровня в итоге получается очень длинная простыня из разделов.
Также попробовал вариант с удалением файла treeManagement.js - тоже самое, меню становится скрытым, но при раскрытии все разделы отображены.
Сейчас наоборот меню по умолчанию раскрыто, но отображаются только категории.

Я так думаю в этом куске надо смотреть правило при котором категории и подкатегории отображаются или нет
Код:
<ul id="ma-mobilemenu" class="tree {if $isDhtml}dhtml{/if}  mobilemenu nav-collapse collapse">

                    {foreach from=$blockCategTree.children item=child name=blockCategTree}

                        {if $smarty.foreach.blockCategTree.last}

                            {include file="$branche_tpl_path" node=$child last='true'}

                        {else}

                            {include file="$branche_tpl_path" node=$child}

                        {/if}

                    {/foreach}
                    
                        {if isset($cms_link)}
                            
                            {foreach from=$cms_link item=cms_link1}
                                <li>
                                    <a href="#" title="Contains Subs">{$cms_link1.title}</a>
                                </li>
                            {/foreach}
                        {/if}
                            
                        {if isset($cms_cate)}
                            
                            {foreach from=$cms_cate item=cms_cate1}
                                <li>
                                    <a href="{$cms_cate1.link}" title="{$cms_cate1.title}">{$cms_cate1.title}</a>
                                </li>
                            {/foreach}
                        {/if}
                        
                                
                        {if isset($manufacture_link)}
                            
                            {foreach from=$manufacture_link item=manufacture_link1}
                                <li>
                                    <a href="{$manufacture_link1.link}" title="{$manufacture_link1.title}">{$manufacture_link1.title}</a>
                                </li>
                            {/foreach}
                        {/if}
                        
                        {if isset($supply_link)}
                            
                            {foreach from=$supply_link item=supply_link1}
                                <li>
                                    <a href="{$supply_link1.link}" title="{$supply_link1.title}">{$supply_link1.title}</a>
                                </li>
                            {/foreach}
                        {/if}
                        
                        {if isset($custom_link)}
                            
                            {foreach from=$custom_link item=custom_link1}
                                <li>
                                    <a href="{$custom_link1.link}" title="{$custom_link1.title}">{$custom_link1.title}</a>
                                </li>
                            {/foreach}
                        {/if}
                        
                        {if isset($product_link)}
                            
                            {foreach from=$product_link item=product_link1}
                                <li>
                                    <a href="{$product_link1.link}" title="{$product_link1.title}">{$product_link1.title}</a>
                                </li>
                            {/foreach}
                        {/if}
                        {if isset($all_man_link)} {$all_man_link} {/if}
                        {if isset($all_sup_link)} {$all_sup_link} {/if}



                </ul>
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Алекс


Администратор
Сообщений: 4516
Откуда: Красноярск
Регистрация: 29-05-2009


14-02-2019 23:59
Цитата:( adwebzoom @ 14-02-2019 23:49 Смотреть сообщение )
если удалить tree и dhtml, то меню по умолчанию скрыто, но при его раскрытии отображаются не только категории, но и подкатегории 2-4 уровня в итоге получается очень длинная простыня из разделов.

Можно ограничить отображение категорий только 1ым уровнем, в конец файла custommenu.css добавьте:
Код:
.mobilemenu ul {display:none}

Еще лучше в tpl модуля ограничить сбор и отображение категорий только 1ых уровней.

Цитата:( adwebzoom @ 14-02-2019 23:49 Смотреть сообщение )
Также попробовал вариант с удалением файла treeManagement.js - тоже самое, меню становится скрытым, но при раскрытии все разделы отображены.
Сейчас наоборот меню по умолчанию раскрыто, но отображаются только категории.

Доп. вариант: в конце файла treeManagement.js (внутри .ready) добавить подобный код:
Код:
closeBranch($('#ma-mobilemenu'));
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
adwebzoom


Cпециалист
Сообщений: 123
Регистрация: 05-11-2013


15-02-2019 01:53
Благодарю за помощь!
ограничил отображение подкатегорий через css
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос