Переместить кнопку ФИЛЬТР в другой блок

Тема в разделе "Дизайн, оформление и шаблоны", создана пользователем Aleksei_1986, 19 июн 2022.

  1. Aleksei_1986

    Aleksei_1986 Новичок

    Сообщения:
    14
    Симпатии:
    1
    Уважаемые форумчане прошу помощи в переносе кнопки ФИЛЬТР в мобильной версии сайта, в другой блок "Тип отображения карточек товара" на странице Категории.
    Я так понимаю вопрос с специалистам JAVA.
    Прошу указать место в коде файла .js которое отвечает за <div> в котором будет расположена кнопка ФИЛЬТР в мобильно версии.
     

    Вложения:

    • error.png
      error.png
      Размер файла:
      44,4 КБ
      Просмотров:
      10
  2. karpov

    karpov Продвинутый пользователь

    Сообщения:
    1.519
    Симпатии:
    241
    Тут не java. Вам нужно найти файл где есть верстка кнопки, скорей всего product/category.twig . Блок кнопки с классом ocf-btn-mobile-static ocf-mobile и вот его и перенести, поменять стили, верстку, чтобы встал как нужно.
     
  3. Sig

    Sig Пользователь

    Сообщения:
    89
    Симпатии:
    25
    Можно и скриптом перенести, таким, например
    Код:
    <script>
        if($( window ).width()<=767){
            $('.sorts-block__wrapper').prepend($('.ocf-btn-mobile-static.ocf-mobile'));
        }
    </script>
    Но лучше блок фильтра сразу в шаблоне категории перенести внутрь блока <div class="sorts-block__wrapper">
    А чтобы все это отображалось нормально на новом месте - добавить такие стили
    Код:
    <style>
    @media (max-width:767px){
        .ocf-btn-mobile-static {
            margin:0 20px 0 0;
            padding:0;
            border:none;
        }
        .ocf-btn-mobile-static .ocf-btn {
          padding-top: 4px;
          height: 32px;
        }
    }
    </style>
    Все это лучше всего добавить в конец шаблона категории, ну или в кастомные скрипты и стили шаблона сайта.
     
    Aleksei_1986 нравится это.
  4. Aleksei_1986

    Aleksei_1986 Новичок

    Сообщения:
    14
    Симпатии:
    1
    В приложенном скрине видно, что кнопка (блок фильтра) подрубается не понятным для меня образом, я подумал, что это блок JAVA стартует, так и родился вопрос к спецам по JAVA.
    А в шаблонах страниц категорий да и вообще всех шаблонах, не могу найти этот класс, все перерыл . Нашел его (.ocf-btn-mobile-static .ocf-mobile) в файле .....system\ocfilter.ocmod.xml но теперь ума не приложу как мне поступить. Получается в самом ocfilter.ocmod.xml надо прописывать путь к блоку с сортировкой <div class="sorts-block__wrapper"> ?
     

    Вложения:

  5. Sig

    Sig Пользователь

    Сообщения:
    89
    Симпатии:
    25
    Да, ищите операцию, которая вставляет код кнопки фильтра в шаблон категории и меняйте условие так, чтобы кнопка вставлялась в нужный блок.

    Если выложите ocfilter.ocmod.xml от своего сайта, то можно будет конкретно подсказать где и что менять.
     
    Aleksei_1986 нравится это.
  6. Aleksei_1986

    Aleksei_1986 Новичок

    Сообщения:
    14
    Симпатии:
    1
    ocmod во вложении
     

    Вложения:

  7. Sig

    Sig Пользователь

    Сообщения:
    89
    Симпатии:
    25
    Обязательно сохраняем оригинальный файл для возможности отката.
    В рабочем файле меняем блок
    Код:
      <file path="catalog/view/theme/*/template/product/{category,search,manufacturer,special}.twig">
        <operation>
          <search regex="true" limit="1"><![CDATA[~(\{% if \(?products\)? %\})~]]></search>
          <add><![CDATA[
          $1
          <!-- OCFilter Start -->     
          {% if ocfilter_mobile_button %}
          <div class="ocf-btn-mobile-static ocf-mobile">
            <button type="button" class="ocf-btn ocf-btn-default" data-ocf="mobile"><span class="ocf-btn-name">{{ button_ocfilter_mobile }}</span> <i class="ocf-icon ocf-icon-16 ocf-brand ocf-sliders"></i></button>
          </div>
          {% endif %}   
          <!-- /OCFilter End -->
          ]]></add>
        </operation>
      </file><!-- /catalog/view/theme/*/template/product/{category,search,manufacturer,special}.twig" --> 
    
    на
    Код:
    <file path="catalog/view/theme/*/template/product/{category,search,manufacturer,special}.twig">
        <operation>
          <search><![CDATA[<div class="sorts-block">]]></search>
          <add position="after"><![CDATA[
          <!-- OCFilter Start -->     
          {% if ocfilter_mobile_button %}
          <div class="ocf-btn-mobile-static ocf-mobile">
            <button type="button" class="ocf-btn ocf-btn-default" data-ocf="mobile"><span class="ocf-btn-name">{{ button_ocfilter_mobile }}</span> <i class="ocf-icon ocf-icon-16 ocf-brand ocf-sliders"></i></button>
          </div>
          {% endif %}   
          <!-- /OCFilter End -->
          ]]></add>
        </operation>
      </file><!-- /catalog/view/theme/*/template/product/{category,search,manufacturer,special}.twig" --> 
    
     
    Aleksei_1986 и Romti нравится это.
  8. Aleksei_1986

    Aleksei_1986 Новичок

    Сообщения:
    14
    Симпатии:
    1
    Отлично все заработало!!! Благодарю за помощь!
     

    Вложения:

    • было.png
      было.png
      Размер файла:
      10 КБ
      Просмотров:
      11
    • стало.png
      стало.png
      Размер файла:
      31,8 КБ
      Просмотров:
      10
    Sig нравится это.
  9. Sig

    Sig Пользователь

    Сообщения:
    89
    Симпатии:
    25
    Пожалуйста. Обращайтесь.
     
    Aleksei_1986 нравится это.