Ajax фильтр на MODx Revolution

Поділитися
Вставка
  • Опубліковано 2 тра 2016
  • Все курсы в одном комплекте: wd-m.ru/bundle
    Создание сайта от А до Я: wd-m.ru/createsite
    Приветствую, друзья! Сегодня мы научимся создавать фильтр ресурсов в MODx Revolution с возможностью сортировки по любому TV полю и подгрузкой результатов по клику "Загрузить еще". Для вывода результатов будем использовать сниппет pdoResources.
    Страница урока: webdesign-master.ru/blog/cms/...
    ВКонтакте: jediweb
    Телеграм: t.me/jediweb
    Дзен: dzen.ru/jediweb

КОМЕНТАРІ • 130

  • @wdm
    @wdm  19 годин тому +1

    💥 Все курсы в одном комплекте 👇👇👇
    webdesign-master.ru/bundle_courses

  • @PalyufishkuRuSite
    @PalyufishkuRuSite 8 років тому +2

    Спасибо за то, что делитесь такими мега полезными знаниями! Все очень круто!

  • @stolets
    @stolets 8 років тому +3

    Большое спасибо за видео!
    Реально выручили этой информацией.
    Огромное спасибо еще раз!

  • @rodan888
    @rodan888 8 років тому +1

    Огромное спасибо вам за труды!

  • @user-ys9ud4xg7z
    @user-ys9ud4xg7z 8 років тому +6

    О отлично , спасибо вам Алексей с праздниками вас крепкого здоровья и клиентов побольше =)

    • @wdm
      @wdm  8 років тому +2

      +Дмитрий Бережной Спасибо и вам :-)

  • @vladislavlitvin2442
    @vladislavlitvin2442 6 років тому +2

    Блин, шикарно просто!!!! Спасибо огромное!!!

  • @airsoftsniperharo6737
    @airsoftsniperharo6737 6 років тому +1

    Спасибо! как всегда интересно и полезно )

  • @user-to8zj9fm9n
    @user-to8zj9fm9n 8 років тому +1

    Спасибо, как раз то что искал, будем разбираться...

  • @Element1493
    @Element1493 4 роки тому +7

    Для чекбоксов с множественным выбором:
    $tags = $_GET['tags'];
    if($tags){
    $idx = 0;
    foreach ($tags as $tag){
    if($idx == 0){$idx= 1;$comma='';}else{$comma=' OR ';}
    $filter_tags .= $comma."tags LIKE '%".$tag."%'";
    }
    $filter[] = $filter_tags;
    }

    • @VS-uv7ff
      @VS-uv7ff 4 роки тому +1

      Работает, спасибо тебе друг!

    • @jesman008
      @jesman008 4 роки тому +2

      Спасибо! Да хранит тебя господь!

  • @TheSollne4naja
    @TheSollne4naja 8 років тому +1

    Алексей, огромное спасибо за Вашу работу! И за то что делитесь с миром такими удобными и универсальными инструментами, понятно и толково объясняя!

  • @nicky14952281
    @nicky14952281 7 років тому +4

    Фильтр круть. Поймал проблему с несовместимостью моего ajax-фильтра с ajaxMode pdoPage. Решение нашёл в твоём уроке. Скрипты немного подправил - вместо pdoResources применил msProducts, вместо area подставил Data.price и немного подправил классы разметки. Заработало всё за 5 минут после подключения.
    Respect. Сам бы не справился - пЛОХ в php)))

  • @MaryaVadymovna
    @MaryaVadymovna 6 років тому +1

    Спасибо большое ! Все получилось !

  • @redbignow3244
    @redbignow3244 3 роки тому +2

    Для тех кто пытается сделать вывод SELECT:
    В сниппете:
    if($_GET['color']) {
    $filter[] = 'color='.$_GET['color'];
    }
    Front-end часть решения:
    Выберите цвет
    Красный
    Синий
    Желтый




    JS:
    var color = document.getElementById('color');
    color.addEventListener("change", ()=>{
    let val = 'color_'+color.value;
    let radio = document.getElementById(val);
    $(radio).trigger('click');
    });

  • @rustik3250
    @rustik3250 7 років тому +1

    супер урок! ничего лишнего

  • @user-yb8lz1kt6c
    @user-yb8lz1kt6c 6 років тому +3

    Ты просто бесподобен! 4 дня убил на решение проблемы, а потом наткнулся на твоё видео. Спасибо огроменное

  • @MartiaMr
    @MartiaMr Рік тому +1

    Большое человеческое спасибо!

  • @gulomovcreative
    @gulomovcreative 7 років тому +1

    Спасибо большое!

  • @dmitriibulatov7657
    @dmitriibulatov7657 7 років тому

    Блестяще!

  • @nikitajolobov4591
    @nikitajolobov4591 3 роки тому +1

    Спасибо тебе большое!

  • @user-ys3uu5un6l
    @user-ys3uu5un6l 6 років тому +1

    Спасибо за фильтр

  • @user-qy8sl2hx4e
    @user-qy8sl2hx4e 7 років тому +5

    Молодец. Автор очень хорошо объясняет, прекрасная дикция, магический голос, так надоели эти картавые шепелявые евреи, которые записывают скринкасты.
    Автор, я думаю, у тебя дар преподавания. Я очень хочу с тобой подружиться!

  • @valfirst1008
    @valfirst1008 7 років тому +1

    Полезный урок. Алексей, у Вас в js есть элементы верстки наподобие var sortDownText = 'По убыванию', как Вы внедряете многоязычность в js в таких случаях?

  • @MrOtyz
    @MrOtyz 5 років тому +9

    Для строковых значений, в сниппете :
    if($_GET['target']) {
    $filter[] = 'target="'.$_GET['target'].'"';
    }

  • @MaDaRaisBack
    @MaDaRaisBack 8 років тому +1

    Большое спасибо! Вопрос: а когда выйдет следующий выпуск "Создание сайта под ключ на заказ" ?

  • @user-wp9qv2zx9m
    @user-wp9qv2zx9m 7 років тому +3

    Большое спасибо за уроки! В уроках по ModX не хватает примера работы с Collections. А в этом видео об этом только упоминается с отсылом на предыдущие уроки, но в предыдущих уроках только сам плагин Collections устанавливали, примера работы с ним не было.

    • @wdm
      @wdm  7 років тому +1

      Посмотрите создание типовой секции лп и создание сайта под ключ.

  • @grigodoes
    @grigodoes 3 роки тому

    Спасибо за видео, очень полезная информация
    Будет ли работать данный способ с товарами miniShop2?

  • @nomad_shop
    @nomad_shop 6 років тому +3

    Подскажите плиз как заставить работать select одиночный выбор? вот код который я использовал. Результат: Во фронтэнд выводится числовое значение (как я понимаю порядковый номер выбранного пункта) и фильтрация не работает при выборе элементов из select.
    вот код
    Сам select
    Район
    Все
    Центр
    Автовокзал
    Профессорский уголок
    Код снипета
    if($_GET['raion']) {
    $filter[] = 'raion='.$_GET['raion'];
    }
    Формат полей
    Центр==1||Автовокзал==2||Профессорский уголок==3
    Вывод в чанке
    Район: [[+tv.raion]]

  • @user-wp6te2vn1s
    @user-wp6te2vn1s 7 років тому +1

    Урок супер. Спасибо за труд. Есть небольшой вопрос - есть ли сложности в использовании вашего стартового шаблона OptimizedHtml при посадке верстки на Modx?

    • @wdm
      @wdm  7 років тому +2

      Спасибо. Нет, сложностей нет.

  • @half-life-tv
    @half-life-tv 3 роки тому

    Очень классная штука ! Вопрос. будет ли работать данный фильтр если тип TV в админке не радио кнопки или чекбокс а Список множественный или одиночный выбор ?

  • @user-ep6rs9du5m
    @user-ep6rs9du5m 7 років тому +1

    Хотелось бы еще видео по фильтрации по категориям. Ни как не могу реализовать в своём проекте

  • @user-we6hx2io1f
    @user-we6hx2io1f 7 років тому +2

    привет. Когда передаю более 60 tv параметров в pdoResorces он ругается и перестает работать. Можно ли как-нибудь поменять это значение поставить не 60 tv а более или как-нибудь обойти ограничение?

  • @andrey901
    @andrey901 6 років тому +4

    Ребята, кому нужна фильтрация чекбоксов в одном TV я нашел решение. Это подойдет вам, если фильтрация будет только по одному TV, ну если нужно что-то сложнее, то думаю допилить тут можно будет. Я не программист, поэтому за качество кода и его работу не отвечаю :D
    Итак, в сниппете до настройки фильтрации объявите строковую переменную $f = '';
    Далее по каждому инпуту пишете условие и добавляете значение к переменной:
    if($_GET['c-spec-1']) {
    $f = $f.'c-spec==%Значение 1%||';
    }
    if($_GET['c-spec-2']) {
    $f = $f.'c-spec==%Значение 2%||';
    }
    if($_GET['c-spec-3']) {
    $f = $f.'c-spec==%Значение 3%||';
    }
    Далее нужно удалить из финальной строки последние символы ||
    $f = substr($f,0,-2);
    И в вызове pdoResources фильтруем не по where, а по tvFilters:
    $params = array(
    'parents' => $parents,
    'limit' => $limit,
    'offset' => $offset,
    'tpl' => $tpl,
    'select' => 'id,pagetitle,introtext,content',
    'includeTVs' => $fields,
    'showHidden' => '1',
    'sortby' => $sortby,
    'sortdir' => $sortdir,
    'processTVs' => '1',
    //'where' => $where
    'tvFilters' => $f
    );
    Эта херня работает для меня

  • @polo08080
    @polo08080 5 років тому

    Подскажите, пожалуйста, как сделать чтобы при фильтрации сохранялся шаблон вывода товара (например, плитка - список), а не сбрасывался на дефолтный?

  • @artemselyansky3789
    @artemselyansky3789 7 років тому +2

    Работает ли фильтр с tv полями созданными в MIGX?

  • @nothingnothing45
    @nothingnothing45 4 роки тому +1

    при вызове сниппета в шаблон категории как подрубить вот такую конструкцию? (where не работает с catalogFilter)
    &fields=`color`
    &where=`{"color":"white"}`
    иными словами: по тв полю нужно вывести товары при вызове, а потом еще фильтровать.

  • @gulomovcreative
    @gulomovcreative 7 років тому +3

    Если можно вопрос, при попытке передать значение к примеру "ball" в атрибуте "value" не находит его.
    В TV с названием "subject" в параметрах (допустим radio) ввожу возможные значения, например: Мяч==ball||Стул==chair||Стол==table
    В форме:
    В сниппете:
    if($_GET['subject']) {
    $filter[] = 'subject='.$_GET['subject'];
    }
    Что я делаю не так? Подскажите пожалуйста

    • @MysticFly
      @MysticFly 7 років тому +3

      Присоединяюсь к вопросу. Работает только если указать значения: Мяч==1||Стул==2||Стол==3. В таком случае мы получаем на странице пункты с названиями 1,2,3. Как заменить цифры на строки?

    • @MBPOV7701
      @MBPOV7701 6 років тому +1

      Сделай так:
      if($_GET['subject']) {
      $filter[subject] = $_GET['subject'];
      }

  • @stolets
    @stolets 8 років тому +6

    Я сделал все как по видео и по странице, где более описано все. У меня все работает, но только в том случае, если я вывод элементов так же засуну внутрь тега form
    В чем может быть проблема?
    Заранее спасибо!
    Картина теперь такая:
    Фильтр
    Вывод элементов
    Сортировка - при чем сортировка работает только вне тега form
    Если вывод элементов вытягиваю из тега form, то ajax визуально перезагружает элементы, но они остаются так же как и были.

    • @user-ic4cz5bv9k
      @user-ic4cz5bv9k 5 років тому +1

      В общем пару часов разбирал код жыквери, вникал в пхп(который не знаю) в итоге плюнул на всё и просто объеденил все в один контейнер(div). Усё заработало.

  • @user-ys9ud4xg7z
    @user-ys9ud4xg7z 8 років тому +1

    И еще маленькое замечание =) , Вы сказали что вернетесь к чанку который оформляет один айтем и похоже забыли =). А так огромнейшее спасибо за ваш труд, очень и очень классный контент.

    • @wdm
      @wdm  8 років тому +1

      +Дмитрий Бережной он есть в статье к уроку :)

    • @wdm
      @wdm  8 років тому +1

      +Дмитрий Бережной получается? :)

    • @user-ys9ud4xg7z
      @user-ys9ud4xg7z 8 років тому +1

      +WebDesign Master в целом да , только кнопку загрузить еще не могу как у вас на видео сделать чтобы под item была все время улетает вверх

  • @user-ys9ud4xg7z
    @user-ys9ud4xg7z 8 років тому +1

    Алексей, вопросик еще а в этом фильтре вашем, можно ли сделать фильтрацию по двум чекбоксам. Например есть гараж и есть например сад и фильтр тебе отфильтровывает только те позиции у кого сад и гараж. Пытаюсь два чекбокса прикрутить не получается.

    • @wdm
      @wdm  8 років тому +1

      +Дмитрий Бережной просто добавляете 2 чекбокса и привязываете каждый к TV

    • @wdm
      @wdm  8 років тому +1

      Соответственно, в сниппете также.

    • @user-ys9ud4xg7z
      @user-ys9ud4xg7z 8 років тому +1

      +WebDesign Master Щас попробую спасибо

    • @user-ys9ud4xg7z
      @user-ys9ud4xg7z 8 років тому +1

      +WebDesign Master момент , а как в админке их вывести и запретить менеджеру выбрать и сад и гараж. Ну допустим дом или с гаражом или с садом. Одновременно и того и другого допустим не может быть

    • @wdm
      @wdm  8 років тому +1

      +Дмитрий Бережной что-то усложняете.

  • @aendyone5012
    @aendyone5012 4 роки тому +1

    Очень крутой скрипт, вот только один момент не ясен. Я использую на своем сайте расширение minishop2 которое использует свой сниппет msProducts через pdoPage, для вывода ресурсов(товаров). Как я могу объединить сниппет catalogFilter со сниппетом msProducts, чтобы фильтрация ресрсов через Ajax фильтр, не мешала работе minishop2?

  • @worldtech2770
    @worldtech2770 8 років тому +2

    когда уже будет ответы на вопросы?)жду не дождусь,ответы на вопросы по php языку

  • @FlaitMilan
    @FlaitMilan 7 років тому +2

    Подскажите пожалуйста, как правильно оформить такой фильтр для списка с множественным выбором?

    • @wdm
      @wdm  7 років тому +1

      Посмотрите, какой формируется GET запрос у multiple элемента и сделайте соответствующую обработку в сниппете.

  • @szed8135
    @szed8135 5 років тому +8

    Если требуется поиск например по заголовку::
    if($_GET['pagetitle']) {
    $filter[] = 'pagetitle LIKE "%'.$_GET['pagetitle'].'%"';
    }

    • @FuzeRussia
      @FuzeRussia 3 роки тому +1

      Огромное спасибо!

  • @user-ys9ud4xg7z
    @user-ys9ud4xg7z 8 років тому

    Алексей. а еще момент подскажите пожалуйста. Покуда грузится Ajax ом запрос, можо ли как то преоладер загрузить. Чтобы крутился какой то

    • @wdm
      @wdm  8 років тому +1

      +Дмитрий Бережной думаю, да, можно.

    • @andrey901
      @andrey901 6 років тому

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

  • @orle-my3wq
    @orle-my3wq 7 років тому +1

    чтобы работал &resources
    добавьте в catalogFilter >
    в массив
    $params
    'resources' => $resources

  • @arturkukharski3756
    @arturkukharski3756 7 років тому +1

    Добрый день. Очень крутой урок, но хотелось бы узнать, как можно сделать такую фильтрацию если у меня не один чекбокс, а штук 5, допустим:
    Фильтрация по производителю:
    Samsung +
    Sony +
    Nokia -
    Applle -
    HTC +
    Получается это одна категория производитель и одно поле, но с множественной выборкой, можно ли как-то это реализовать?

    • @user-we6hx2io1f
      @user-we6hx2io1f 7 років тому +1

      получилось сделать такой фильтр путем создания доп. поля типа checkbox под каждый параметр
      в сниппете
      if($_GET['estetMed']) {
      $filter[] = 'estetMed=1';
      }
      if($_GET['plasticHirur']) {
      $filter[] = 'plasticHirur=1';
      }
      и т.д.

  • @user-mg7nl3cs8f
    @user-mg7nl3cs8f 6 років тому +1

    Спасибо за урок. Только никак не получается, чтобы работал по текстовому значению tv, например: Audi==Audi||Mersedes==Mersedes||Volvo==Volvo. Когда стоят цифры то работает. Подскажите как решить.

    • @sainmorton
      @sainmorton 6 років тому

      Нужно писать только название, Audi||Mersedes||BMW и тд

  • @makcimhvatov454
    @makcimhvatov454 4 роки тому +1

    Спасибо , а можно его с pdoPage использовать?

  • @xpootxable
    @xpootxable 5 років тому

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

  • @youtubestark873
    @youtubestark873 4 роки тому +1

    А как сделать чтобы все это работало только после нажатия на кнопку подобрать??? Спасибо за полезное видео.

  • @szed8135
    @szed8135 5 років тому

    А как сделать пагинацию вместо кнопки загрузить еще?

  • @user-cw3cd7ow1i
    @user-cw3cd7ow1i 7 років тому +1

    Спасибо.Очень полезная штука.Только вот не могу разобраться, можно ли сделать чтобы фильтр был не только по значениям вида Первый==1||Второй==2||Третий==3. А фильтровать по текстовому значению tv

    • @wdm
      @wdm  7 років тому +1

      Да, конечно можно.

    • @user-cw3cd7ow1i
      @user-cw3cd7ow1i 7 років тому +1

      А не подскажите в какую сторону копать.А то сегодня уже голову сломал. Понимаю что это просто. И где то не получается из за мелочи какой то. =)

    • @wdm
      @wdm  7 років тому +1

      Нужно упростить код диапазона цен из примера до одного поля.

    • @user-cw3cd7ow1i
      @user-cw3cd7ow1i 7 років тому +1

      Завтра буду искать) спасибо

  • @alzhansabraliyev5461
    @alzhansabraliyev5461 5 років тому +1

    Добрый день! Не подскажите, как сделать фильтр через select (список) и 2 вопрос в чанке который мы выводим через ваш сниппет пишу он по почему то не выводит ссылку

    • @osdby
      @osdby 5 років тому

      смогли вы решить проблему с [[+uri]]?

    • @imhateb22
      @imhateb22 4 роки тому +1

      @@osdby такая же проблема была. Надо в сниппете добавить uri в строку 'select' => 'id,pagetitle,introtext,content,uri', (у него в примере это строка номер 69).

  • @imhateb22
    @imhateb22 3 роки тому

    Подскажите пожалуйста, как сделать сортировку по нескольким параметрам. У вас идёт сортировка по pagetitle. - Ok. Но как мне сделать, чтобы сначала выводились позиции по одному tv полю, а далее шло всё остальное отсортированное по id скажем?

  • @AniMekka
    @AniMekka 7 років тому +1

    Фильтр понравился.Только у itemов никак не выводятся даты, типа [[+publishedon]] Как решить данную проблему?

  • @tohenson
    @tohenson 8 років тому +1

    Спасибо вам большой за Фильтр, пригодился, но можете подсказать ещё такие вещи:
    1 - Подскажите как вывести сообщение, если ничего не найдено?
    2 - Можно как-то в случайном порядке их вывести?

    • @wdm
      @wdm  8 років тому +1

      +Тони Тони sortby RAND()

    • @flamedeluxe
      @flamedeluxe 8 років тому +2

      catalogFilter:default=`не найдено элементов с данными параметрами`? и т.д.

  • @azamatmukhamedrakhim5351
    @azamatmukhamedrakhim5351 4 роки тому +1

    Ребята подскажите пожалуйста как можно сделать так, например мы добавляем через MIGX картинки в одном место, но чтоб эти картинки были на всех страницах или на определенных страницах

  • @05TubeBoy
    @05TubeBoy 7 років тому +1

    Не подскажете, почему может не отрабатывать фильтр по радио кнопкам, если в качестве их значения использовать текстовую строку? Заранее спасибо

    • @andrey901
      @andrey901 6 років тому +1

      В сниппете строку оберните в кавычки

    • @andrey901
      @andrey901 4 роки тому

      Ромео Шекспир попробуйте вместо filter использовать where, в JSON

  • @narcisstroy
    @narcisstroy 7 років тому +1

    Доброго времени суток! Спасибо за урок! Я новичок! В уроке все "понятно" за исключением самой верстки страницы с фильтром. То есть понятно что тут описывается сам принцип работы фильтра. Но, все же - где взять html код самой страницы с фильтром?

    • @wdm
      @wdm  7 років тому +1

      На гитхабе всё выложил, посмотрите на странице урока.

  • @AtiJon1
    @AtiJon1 8 років тому

    привет, автор. пожалуйста порекомендуй фрилансера для создания сайта-аффилиейта.

  • @velosipedby9146
    @velosipedby9146 4 роки тому +1

    Есть "категория товаров (id2)" в ней куча товаров, каждый из товаров имеет tv поля по которым осуществляется фильтрация. В самом каталоге все работает как надо. Выводим так:
    [[!tb_msCatalogFilter:default=`Не найдено товаров с данными параметрами [[$smile]]`?
    &tpl=`tb_tpl.msProducts.row` - шаблон
    &limit=`9` - лимит
    &parents=`2` - id категории, т.е. нашего каталога товаров
    &fields=`tb_bike_brake, tb_bike_brand, tb_bike_sex, tb_bike_speed, tb_bike_type, tb_bike_wheel` - tv поля по которым осуществляется фильтрация
    ]]
    Однако есть страница брендов например, у меня создана категория "бренды (id3)" и в ней созданы ресурсы, т.е. какие то бренды. В каждом из товаров в каталоге есть tv поле бренд, в котором осуществляется выборка из списка ресурсов в моём случае это ресурс (id3). Ну и как бы создан шаблон для брендов в котором на данный момент следующий вызов:
    [[msProducts?
    &tpl=`tb_tpl.msProducts.row`
    &sortby=`RAND()`
    &limit=`0`
    &parents=`2`
    &includeTVs=`tb_bike_brake, tb_bike_brand, tb_bike_sex, tb_bike_speed, tb_bike_type, tb_bike_wheel`
    &tvFilters=`tb_bike_brand==[[*id]]` - данный параметр отвечает за вывод товаров только определенного бренда.
    ]]
    Но хотелось бы на эту страницу прикрутить этот же фильтр, только с предустановленным фильтром по tv полю.
    [[!tb_msBrandFilter:default=`Не найдено товаров с данными параметрами [[$smile]]`?
    &tpl=`tb_tpl.msProducts.row`
    &limit=`9`
    &parents=`2`
    &fields=`tb_bike_brake, tb_bike_brand, tb_bike_sex, tb_bike_speed, tb_bike_type, tb_bike_wheel`
    &tvFilters=`tb_bike_brand==[[*id]]` - чтобы как то работала эта строчка
    ]]
    Заранее спасибо, если кто то наведёт на мысль!

    • @velosipedby9146
      @velosipedby9146 4 роки тому +1

      [[!tb_msBrandFilter:default=`Не найдено товаров с данными параметрами [[$smile]]`?
      &tpl=`tb_tpl.msProducts.row`
      &limit=`9`
      &parents=`2`
      &fields=`tb_bike_brake, tb_bike_brand, tb_bike_sex, tb_bike_speed, tb_bike_type, tb_bike_wheel`
      &msFilter=`tb_bike_brand==[[*id]]`
      ]]
      - если заменить tvFilters на любую другую переменную (например msFilter), и в сниппете перед $tvFilters = implode(',', $tvFilter); добавить $tvFilter[] = $msFilter; то все работает, кроме фильтрации по цене.

  • @user-xd8xy3kk6w
    @user-xd8xy3kk6w 3 роки тому

    Может кто-нибудь знает как сделать с пагинацией, подскажите пожалуйста

  • @tanyamaximova9340
    @tanyamaximova9340 7 років тому +1

    Интересный способ, а главное простой! Всё работает, НО есть вопрос, как быть со скриптами после отработки ajax? Например у меня для блоков вызывается js скрипт ( $(".card").matchHeight(); )на выравнивание их по высоте, и он перестает работать после отдачи контента аяксом. Как его проинициализировать заново?

    • @wdm
      @wdm  7 років тому +2

      $('.pjax-container').on('pjax:success', function () {
      setTimeout(function() {
      $(".card").matchHeight();
      }, 400);
      });

    • @tanyamaximova9340
      @tanyamaximova9340 7 років тому +1

      Спасибо за решение! С нескольких попыток сработало в варианте прописав в файле вызова ajax.js: в конце вызова function ajaxMainFunction
      $.ajax({
      success: function(){
      setTimeout(function() {
      $(".card").matchHeight();
      }, 400);
      }
      срабатывает, но продолжу ковырять код дальше, т.к. неуверенна, что я делаю все правильно.

  • @nomadiccjoe
    @nomadiccjoe 4 роки тому

    Добрый день, у меня этот фильтер при использовании select ломает и слайдер и модальные окна как быть в таком случае?

  • @user-ys9ud4xg7z
    @user-ys9ud4xg7z 8 років тому

    Алексей, было бы неплохо чтобы еще был поиск например по названию. Или я многого хочу ?

    • @wdm
      @wdm  8 років тому

      +Дмитрий Бережной вы имеете ввиду поиск по сайту?

    • @user-ys9ud4xg7z
      @user-ys9ud4xg7z 8 років тому

      +WebDesign Master поиск по сайту, тоже хотелось бы в вашем исполнении увидеть. Есть решения в интернете, но хотелось бы на ваше глянуть. Касательно поиска по названию , то вот например там где фильтр показан в уроке например еще 1 input и когда пользователь например вводит или начинает вводить Одноэтажный домик, ему ajax подгружает уже все что есть со словом одноэтажный. Как то так. Надеюсь вы поняли, может я сумбурно обьяснил

    • @wdm
      @wdm  8 років тому +2

      +Дмитрий Бережной понял. Рассмотрю вариант.

  • @erikkuba3144
    @erikkuba3144 5 років тому

    Здравствуйте, а как сделать чтоб на странице товаров не выводились подкатегории. У меня категория1-подкатегория1.1-товар1, товар2.
    На странице категория1 выводяться товар1, товар2 и в то же время подкатегория1.1
    Пробовал &where=`{"templates": ID шаблон}` не работает

    • @erikkuba3144
      @erikkuba3144 5 років тому

      Ответ был в комментариях, добавил в catalogFilter >
      в массив
      $params
      'templates' => $templates
      А в чанке
      изменил &where=`{"templates": ID шаблона}` на &templates=` ID шаблона`
      Сработал

  • @user-dh4cl5xw9v
    @user-dh4cl5xw9v 3 роки тому +1

    Что делать если фильтрация отрабатывает по первому нажатию, а по второму фильтрует? По нажатию на ajax-item

  • @gulomovcreative
    @gulomovcreative 7 років тому +1

    Я так понимаю, это все работает только с числовыми значениями, да?

    • @wdm
      @wdm  7 років тому

      Нет, со строковыми также работает.

    • @gulomovcreative
      @gulomovcreative 7 років тому

      Вот например:
      Скажем есть TV артикул.
      if($_GET['articul']) {
      $filter[] = 'articul='.$_GET['articul'];
      Ввожу цифры и если TV артикул совпадает, то он мне выдает, а если ввожу с буквами нет(

  • @user-il6ig2ej2n
    @user-il6ig2ej2n 7 років тому +1

    Всем привет! Всю ночь не мог разобраться где я затупил. у меня почему то выводится все вот так не знаю как решить проблему. Помогите разобраться
    Сортировать по цене: По возрастанию
    Array ( [id] => 14 [pagetitle] => «СЕВЕРНАЯ КОРОНА» [introtext] => [content] => [tv.area] => 45 [tv.floor] => 1 [tv.garage] => [tv.price] => 165000 [idx] => 1 [link] => ) Array ( [id] => 12 [pagetitle] => «СТРИЖИ НА КИРОВА» [introtext] => [content] => [tv.area] => 68 [tv.floor] => 2 [tv.garage] => [tv.price] => 52000 [idx] => 2 [link] => ) Array ( [id] => 11 [pagetitle] => «СТРИЖИ НА РОДНИКАХ» [introtext] => [content] => [tv.area] => 85 [tv.floor] => 3 [tv.garage] => [tv.price] => 32000 [idx] => 3 [link] => )
    Загрузить еще 2 из 2
    Пример чанка tplCatItem
    Этаж
    Гараж Нет
    Цена:

    • @misrerlexus
      @misrerlexus 7 років тому

      чанк отсутствует

  • @grafdegan9962
    @grafdegan9962 8 років тому

    Ну так что за шаблончик у firefox, хочу сделать себе такой же вид как у тебя!

    • @wdm
      @wdm  Рік тому

      Simple White Compact

  • @fanton1988
    @fanton1988 7 років тому

    Помогите: как вывести дату публикации ресурса на странице фильтрации?

    • @wdm
      @wdm  7 років тому

      publishedon как обычно. Можно с фильтром для формата даты.

    • @fanton1988
      @fanton1988 7 років тому

      Пробую [[+publishedon:strtotime:date=`%d %b %Y`]] - вообще не выводит
      [[*publishedon:strtotime:date=`%d %b %Y`]] - выводит дату публикации страницы с фильтром, а не ресурса.
      Как правильно вывести?

    • @wdm
      @wdm  7 років тому

      Попробуйте добавить publishedon в обработчик сниппета.

  • @TheSollne4naja
    @TheSollne4naja 8 років тому +2

    Обратила внимание, что в скрипте отслеживается только изменение input но не select
    $(''+ajaxFormSelector+' input').change(function() {
    ajaxMainFunction();
    })

    • @Derzaiii26
      @Derzaiii26 7 років тому +3

      $(''+ajaxFormSelector+' select').change(function() {
      ajaxMainFunction();
      })
      добавьте

    • @nomad_shop
      @nomad_shop 6 років тому +2

      Если вы разобрались как подключить select не могли бы мне подсказать? Уже перепробовал кучу всего и работает только вывод из админки идо в виде порядкового номера а не самого значения. фильтрация на select не работает совсем.

    • @nomad_shop
      @nomad_shop 6 років тому +2

      вот код
      Сам select
      Район
      Все
      Центр
      Автовокзал
      Профессорский уголок
      Код снипета
      if($_GET['raion']) {
      $filter[] = 'raion='.$_GET['raion'];
      }
      Формат полей
      Центр==1||Автовокзал==2||Профессорский уголок==3
      Вывод в чанке
      Район: [[+tv.raion]]

    • @szed8135
      @szed8135 5 років тому +3

      Попробуйте вот так:
      if($_GET['raion']) {
      $filter[] = 'raion="'.$_GET['raion'].'"';
      }

  • @byfbir
    @byfbir 3 роки тому

    Кнопка ломает верстку появляясь после каждых 3х элементов