Автор Тема: Помогите настроить Многоуровневую навигацию  (Прочитано 1889 раз)

27 Июль 2018, 12:23:19
Ответ #15
  • Фрилансер
  • *
  • Сообщений: 132
  • Репутация: +2/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Тему любую возьмите где ползунок у фильтра цен и скопируйте шаблон.
27 Июль 2018, 12:35:00
Ответ #16
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Тему любую возьмите где ползунок у фильтра цен и скопируйте шаблон.
Простые решения самые верные  :)
Осталось найти тему под prestashop 1.7 с ползунками.
28 Июль 2018, 16:42:45
Ответ #17
  • Ветеран
  • *****
  • Сообщений: 520
  • Репутация: +4/-0
  • Сообщество PrestaShop
    • Просмотр профиля
10 Май 2019, 17:12:45
Ответ #18
  • Новичок
  • *
  • Сообщений: 1
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Для временного решения проблемы прикрутил jQuery UI ползунок. Для Classic темы, с другими не проверял.
В файле
  sitename/themes/classic/templates/catalog/_partials/facets.tpl
после строки:
  {if $facet.widgetType !== 'dropdown'}
вставить это
{if $facet.type == 'price'}
  <div class="slider-range-wrapper">
    <p>
      <input type="text" id="amount" readonly>
      <a id="submitprice">
        <button class="btn btn-secondary">OK</button>
      </a>
    </p>
    <div id="slider-range" data-type="{$facet.type}" data-quantity="{$filter.magnitude}" data-min-value="{$facet.properties.min}" data-max-value="{$facet.properties.max}"></div>
  </div>
{/if}
и в конце файла скрипт
  <script type="text/javascript">
    $('#search_filters').ready(function() {
      var langShop = prestashop.language.iso_code;
      var langPrice = $('.slider-range-wrapper').parent().children('.facet-title')[0].innerHTML;
      var pageURLIndex = -1;
      var sliderPrice = function() {
        var minValue = $('#slider-range').data('min-value');
        var maxValue = $('#slider-range').data('max-value');
        $('#slider-range').slider({
          range: true,
          min: minValue,
          max: maxValue,
          values: [minValue, maxValue],
          slide: function(event, ui) {
            $('#amount').val(ui.values[0] + ' ' + prestashop.currency.sign + ' - ' + ui.values[1] + ' ' + prestashop.currency.sign);
          },
          stop: function(event, ui) {
            pageURLIndex = window.location.href.indexOf("?");
            $('#amount').val(ui.values[0] + ' ' + prestashop.currency.sign + ' - ' + ui.values[1] + ' ' + prestashop.currency.sign);
            $('#submitprice').attr("href", window.location.href + ((pageURLIndex === -1) ? '?q=' : '/') + langPrice + '-' + prestashop.currency.sign + '-' + $('#slider-range').slider('values', 0) + '-' + $('#slider-range').slider('values', 1));
          }
        });
        $('#amount').val($('#slider-range').slider('values', 0) + ' ' + prestashop.currency.sign + ' - ' + $(' #slider-range').slider('values', 1) + ' ' + prestashop.currency.sign);
      };
      sliderPrice();
    });
  </script>

И ещё. Чтобы эта штука заработала нужно подключить jQuery сразу после комментария в этом файле:
sitename\themes\classic\templates\_partials\javascript.tpl