Speed99 / Верхняя панель / каталог меню / надстройка количества категорий под показать все Есть решение

Валерий
4 декабря 2021
1

Очень не хватает надстройки "показать все" для разделов каталога меню. Хотелось бы функционал, который будет скрывать разделы под "показать все", которые к примеру не попадут под заданное число.

1 ответ
  • Сергеев Владимир
    Разработчик
    Решение
    4 декабря 2021 23:08

    Здравствуйте, Валерий! 

    В этом меню в угоду скорости используется штатная функция построения меню wa_print_tree.
    Она быстро формирует меню, но несколько топорная. В некоторые места просто не подступится. 

    Я посмотрю что можно там сделать. Если получится, что-нибудь решить, то напишу. 
    Если не получится подступиться, то придётся писать свою функцию меню. Скорее всего, она замедлит скорость загрузки сайта. 
    Оно вам такое надо? Если надо, то запланирую. Но точных сроков пока дать не могу. 

    • Валерий
      Решение
      4 декабря 2021 23:27

      Скорость это конечно хорошо, но и повышения конверсии тоже нужно добиваться. Меню для повышения конверсий это слабая сторона пока, мало интуитивности для клиента на первом экране.

    • Сергеев Владимир
      Разработчик
      Решение
      6 декабря 2021 14:11

      Придумал!!! 

      В саму функцию крайне сложно залезть. 
      Но сам контент можно обработать стилями и скриптами после того, как он будет сформирован. 

      Чтобы скрыть лишнее пункты, добавьте в блок speed.user_css код (если блок не создан его нужно создать): 

      .wa-print-tree-mega>li.uk-nav-sub > ul > li:nth-child(n + 5) {
        display:none;
      }
      .wa-print-tree-mega>li.uk-nav-sub > ul > li.see-all {
        display: block;
      }

      Где 5 – это кол-во пунктов, которые будут видны, включая заголовок меню.

      Чтобы добавить "Смотреть все", добавьте в блок speed.index_scripts код (если блок не создан его нужно создать): 

      {literal}
      <script>
      $('.wa-print-tree-mega>li.uk-nav-sub > ul').each(function(){
        var link = $(this).siblings('a').attr('href');
        $(this).append('<li class="uk-text-bold see-all"><a href="'+ link +'">Смотреть всё</a></li>');
      });
      </script>
      {/literal}

      Подробнее о том, что такое блоки: 

      • Валерий
        Решение
        6 декабря 2021 14:28

        Благодарю, получилось, но получается показать все ведет ссылкой на раздел, а что бы данная кнопка просто раскрывала список возможно тоже придумаем?

        • Сергеев Владимир
          Разработчик
          Решение
          7 декабря 2021 00:06

          Тогда удалите из блоков весь код, что рекомендовал выше, и добавьте в блок speed.index_scripts код: 

          {literal}
          <script>
          $('.wa-print-tree-mega>li.uk-nav-sub > ul').each(function(){
            $(this).find('li:nth-child(n + 5)').addClass('hidden-cats').hide();
            if ($(this).find('.hidden-cats').length) {
              $(this).append('<li><a href="#" class="see-all uk-text-bold">Смотреть все</a></li>');
            }
          });
          $('.see-all').on('click', function(){
            $(this).parent().siblings('.hidden-cats').toggle('300');
            return false;
          });
          </script>
          {/literal}
          

          Опять же, цифру 5 нужно заменить на свою цифру. 

          • Валерий
            Решение
            7 декабря 2021 00:23

            Огромное спасибо, немного чаевых отправил)

            • Сергеев Владимир
              Разработчик
              Решение
              7 декабря 2021 12:51

              Благодарю! =)
              Можете ещё что-нибудь доброе в отзыве о теме написать?

              • Валерий
                Решение
                7 декабря 2021 13:12

                Обязательно. Еще не знаю вынесли ли в отдельную тему, но есть один важный момент, доработка пагинации в каталоге товаров. Если нажимаем Загрузить еще товаров, Загрузить еще.. и переходим на товар, потом возвращаемся назад в каталог, и нас возвращает не в место с которого перешли, а на самую первую страницу. Клиенты очень жалуются данному неудобству.

                Возможно можно было бы совместить и пагинацию и Загрузить еще, чтобы при загрузить еще менялась ссылка чпу пагинации и при переходе назад сохранялось место с которого был совершен переход, или хотя бы страница перехода.

                Также прошу немного доработать стилистику пагинации, особо не видно на какой странице находимся

            • Сергеев Владимир
              Разработчик
              Решение
              19 декабря 2021 14:08

              Добавил функцию в обновление. 

Добавить ответ
Чтобы добавить комментарий, зарегистрируйтесь или войдите
Мы получаем и обрабатываем персональные данные посетителей нашего сайта в соответствии с официальной политикой.
Если Вы продолжите использовать сайт, мы будем считать, что Вас это устраивает.
Подписывайтесь и получайте скидки!

Узнавайте первым о скидках и специальных предложениях!