Фильтрация для товаров с несколькими ценами

Здравствуйте, уважаемые любители modx а!
Делаю собственный проект по недвижимости в Моржиме (Гоа), чтобы люди прилетали прямо в дома, минуя туроператоров.
Цены на аренду дома колеблются от месяца.
Например:
в ноябре цена дома: 750 руп.\сутки, 20000 в месяц.
в декабре: 1300 руп.\сутки, 30000 месяц.
в марте: 600 руп.\сутки, 15000 месяц.
Подскажите можно ли как то фильтровать дома по цене в зависимости от месяца и срока аренды?
Тоесть сделать радио переключатель по этим двум параметрам(месяц и посуточно\месячно) и исходя из этого показывать цены?
Дмитрий Храмов
14 мая 2017, 13:54
modx.pro
1 512
0

Комментарии: 7

Олег
15 мая 2017, 11:23
0
Дополнительные цены уже реализованы? Лучше всего на мой взгляд расширить модель товара плагином.
Я думаю это можно сделать, но нужно будет прилично заморочиться. Возможно придется модифицировать сниппет mfilter, мне так уже пришлось делать на паре сайтов.
Можно попробовать сделать разные чанки с выводом разных цен и в зависимости от выбранных фильтров переключать их. Либо в самом чанке сделать проверку на выбранные фильтры, но это будет более ресурсоемко, первый вариант мне куда более симпатичен.
    Дмитрий Храмов
    15 мая 2017, 12:24
    0
    Дополнительные цены будут писаться вручную.
    Тогда получяется надо создать 7 чанков (октябрь, ноябрь, декабрь, январь, февраль, март, апрель) x 2 чанка (посуточно, помесячно) = 14 и исходя из этого выводить соответсвующие цены?
    И на аяксе они не будут переключаться

      Дмитрий Храмов
      15 мая 2017, 12:39
      0
      msOptionsPrice2 может помочь в данной ситуации? будет ли работать фильтрация по модификациям?
        Олег
        17 мая 2017, 14:37
        0
        Почему не будут? Есть у mFilter2 параметр tpls — там можно указывать разные чанки вывода. При выборе нужных фильтров можно добавлять указание нужных tpl.
          Дмитрий Храмов
          18 мая 2017, 10:36
          0
          Олег, да действительно. Спасибо за подсказку. только не получится отдельно переключатель сделать с посуточно на помесячно. Две цены будут в карточке товара тогда.
        Дмитрий Храмов
        24 мая 2017, 18:32
        0
        Получилось менять цены переключением шаблона.
        Но значения в фильре не меняются исходя из новых цен.
        Не подскажите как поправить?

        goakingdom.com/catalog/

        {block 'content'}
            <div class="container mt-5 mb-5">
                <div class="row">
                    {$_modx->resource.content}
                    {$_modx->runSnippet('!mFilter2', [
                        'limit' => 10,
                        'parents' => $_modx->resource.id,
                        'element' => 'msProducts',
                        'class' => 'msProduct',
                        'ajaxMode' => 'default',
                        'aliases' => '
                            ms|price_oct_day==price_oct_day',
                        'filters' => '
                        msoption|price_oct_day:number',
                        
                        'tpls' => 'tpl.msProducts.row_oct_day,tpl.msProducts.row_nov_day,tpl.msProducts.row_dec_day,tpl.msProducts.row_jan_day,tpl.msProducts.row_feb_day,tpl.msProducts.row_mar_day,tpl.msProducts.row_apr_day',
                        
                        'tplOuter' => 'tpl.mFilter2.outer',
                    
                        'tplFilter.outer.msoption|price_oct_day' => 'tpl.mFilter2.filter.slider',
                        'tplFilter.row.msoption|price_oct_day' => 'tpl.mFilter2.filter.number'
                    ])}
                </div>
                <div id="mse2_tpl">
                    <a href="#" data-tpl="0" class="[[+tpl0]]">Price for October</a>
                    <a href="#" data-tpl="1" class="[[+tpl1]]">Price for November</a>
                    <a href="#" data-tpl="2" class="[[+tpl2]]">Price for December</a>
                    <a href="#" data-tpl="3" class="[[+tpl3]]">Price for January</a>
                    <a href="#" data-tpl="4" class="[[+tpl4]]">Price for February</a>
                    <a href="#" data-tpl="5" class="[[+tpl5]]">Price for March</a>
                    <a href="#" data-tpl="6" class="[[+tpl6]]">Price for April</a>
                </div>
                
            </div>
        {/block}
          Sergey Leleko
          29 августа 2018, 07:49
          0
          Добрый день! решили как-то эту проблему? и как работает tpls с пагинацией?
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          7