Выборка элементов через ТВ параметр, как сделать на modx?

Всем привет!
Постараюсь быть краток и изложить верно суть проблемы.
Структура сайта, приблизительно, выглядит так:

Портфолио(23)
  • Категория№2(28)
    • Товар№1(24)
    • Товар№2(25)
    • Товар№3(26)
    • Товар№4(27)
    • ...

  • Категория№2(28)
    • Товар№1(29)
    • Товар№2(30)
    • Товар№3(31)
    • ...

О нас(32)
Услуги(33)
Работа(34)
Города(35)
  • Москва(36)
  • Киев(37)
  • Санкт-Петербург(38)

...
Товары должны быть взаимосвязаны с городом, что бы можно было отсеивать. Решение: я создал тв-поле с типом select, в возможных параметрах я указал:
@EVAL return $modx->runSnippet('pdoResources',array('parents'=>35,'limit'=>10,'tpl'=>'@INLINE [[+pagetitle]]==#[[+id]]#','outputSeparator'=>'||'));

Благодаря этой, нехитрой манипуляции, в товарах появилась возможность выбрать город.
Нужно что бы происходила фильтрация по тв полю, допустим: я нажимаю на ссылку Киев(36) и мне выводит 10 первых товаров, а мне нужно, что бы товар выводился только тот у которого в параметрах указан «Киев». Вызов шаблона и поля:
[[!pdoResources:default=`К сожалению, ничего не найдено`?
&parents=`24,25,26,27,251`
&showUnpublished = `0`
&includeContent = `1`
&includeTVs=`image,url,ChooseCity`
&tvFilters=`ChooseCity==Москва||Киев||Санкт-Петербург`
&tpl =`CityTemplate`
]]

Шаблон CityTemplate:
<div class="title_holder">
            <div class="container1">
                <div class="container_inner clearfix">
                    <div class="title_on_bottom_wrap">
                        <div class="title_on_bottom_holder">
                            <div class="title_on_bottom_holder_inner" >
                                <h1 style="color:#ffffff" ><span>[[+tv.ChooseCity]]</span></h1>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
<div class="wpb_row vc_row-fluid" style="text-align:left;">
    <section class="section  grid_section" style=" padding-top:50px; padding-bottom:60px;">
        <div class="section_inner clearfix">
            <div class="vc_span12 wpb_column column_container">
                <div class="wpb_wrapper">
                    <div class="wpb_row vc_row-fluid" style="text-align:left;">
<h2 style="color: #0570f9;">[[pdoField?id=`[[+id]]`&field=`pagetitle`]]</h2>
<p><a class="lightbox" href="[[+tv.image]]"><img style="width: 30%; float: right; margin: 0 0 0 100px;" src="[[+tv.image]]"  width="245" height="245"></a>[[pdoField?id=`[[+id]]`&field=`content`]]</p>
<h3> </h3>
<p><a class="qbutton tiny checkout_form fastorder" style="margin-right: 25px;" href="[[+tv.url]]">Посмотреть в портфолио </a><a class="qbutton tiny checkout_form fastorder" href="zakaz.html?data-name='Вы заказываете сайт'" data-fancybox-type="iframe"> Заказать такой сайт</a></p>
                    </div>
                </div> 
            </div> 
        </div>
    </section>
</div>

Надеюсь на вашу помощь. Если будут вопросы задавайте.
  • Вопрос задан
  • 338 просмотров
Пригласить эксперта
Ответы на вопрос 1
ig0r74
@ig0r74
MODX-разработчик
Что-то типа такого нужно
```
[[!pdoResources?
&parents=`0`
&where=`["FROM_UNIXTIME(publishedon, '%Y-%m-%d') LIKE '[[!#get.date]]%'"]`
&showLog=`1`
]]
```
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы