Сделать сортировку в фильтре по tv полю
Здравствуйте имеется данный фильтр, у него есть поле селект называется выбрать автомобиль тип список.
Подскажите каким образом можно отфильтровать по этому полю.
Вот вёрстка фильтра
Подскажите каким образом можно отфильтровать по этому полю.
Вот вёрстка фильтра
<div class="form-selection">
<form action="[[~3]]" name="f-selection">
<div class="f-fields plane-1">
<select name="s-category" id="s-category">
<option value="0">Выберите тип запасных частей</option>
[[!getResources? &limit=`0` &parents=`15` &where=`{"template:=":4}` &sortby=`{"menuindex":"ASC"}` &tpl=`category-item-option-model-selection`]]
</select>
</div>
<div class="f-fields plane-2">
<select name="s-auto" id="s-auto" onchange="getMod(this.value);">
<option value="0">Выберите автомобиль</option>
[[!getResources? &parents=`28` &where=`{"template:=":6}` &tpl=`category-item-option-model-selection-2`&limit=`0`]]
</select>
</div>
<div id="append">[[select-model]]</div>
<div class="f-button">
<input type="submit" id="s-sub" name="s-sub" value="Найти">
<!--<button type="submit">Найти</button>-->
</div>
</form>
</div>
Это сниппет selection <?php
// [[!getResources? &sortby=`{"menuindex":"ASC"}` &parents=`[[*id]]` &where=`{"template:IN":[5]}` &tpl=`product-list`]]
$auto = $_GET['s-auto'];
$seng = $_GET['s-eng'];
if(!empty($auto) && empty($seng)) {
$modelfl = array();
$array_ids = $modx->getChildIds($auto, 5, array('context' => 'web'));
foreach($array_ids AS $item) {
$modelfl[] = 'model==%'.$item.'%';
}
$modelfl_str = implode('||',$modelfl);
}
else if(!empty($seng)) {
$modelfl_str = 'model==%'.$seng.'%';
}
$filter .= $modelfl_str;
$cat = $_GET['s-category'];
if($cat == 0) {
$array_ids = $modx->getChildIds(15,1,array('context' => 'web'));
$cat = implode(",",$array_ids);
}
$arr = array(
'sortby'=>'{"pagetitle":"ASC"}',
'includeTVs'=>1,
'processTVs'=>1,
'depth'=> 2,
'where'=>'{"template:IN":[5]}',
'tpl'=>'product-list-selection',
'parents'=>$cat,
'tvFilters'=>"$filter",
'limit'=>0);
$sn = $modx->runSnippet('getResources',$arr);
if(!empty($_GET['s-auto']) || !empty($_GET['s-eng']) || !empty($_GET['s-category'])) {
if(!empty($sn)) {
echo '<table class="param-model">';
echo $sn;
echo '</table>';
}
else {
echo '<p class="not">По вашему запросу ничего не найдено</p>';
}
}
select-model сниппет модели<?php
if(!empty($_GET['s-auto'])) {
$array_ids = $modx->getChildIds($_GET['s-auto'],6,array('context' => 'web'));
echo'<div class="f-fields plane-2"><select name="s-eng" id="s-eng"><option value="0">Выберите двигатель</option>';
foreach($array_ids AS $item) {
$page = $modx->getObject('modResource', $item);
$output = $page->get('pagetitle');
if($_GET['s-eng'] == $item) {
$cls = ' selected';
}
else {
$cls = '';
}
echo '<option value="'.$item.'"'.$cls.'>'.$output.'</option>';
}
echo '</select></div>';
}
сниппет searchauto<?php
// [[!getResources? &sortby=`{"menuindex":"ASC"}` &parents=`[[*id]]` &where=`{"template:IN":[5]}` &tpl=`product-list`]]
$model = $_GET['f-auto'];
$arr = array(
'sortby'=>'{"menuindex":"ASC"}',
'includeTVs'=>1,
'processTVs'=>1,
'where'=>'{"template:IN":[5]}',
'tpl'=>'product-list',
'parents'=>15,
'tvFilters'=>"model==%$model%");
echo '<table class="param-model">';
echo $sn = $modx->runSnippet('getResources',$arr);
echo '</table>';
Кто чем подскажет, поможет, буду благодарен обыскал всё, сам почти не разбираюсь в модексе вообще, по этому прошу помощи, нашёл что сортировку можно выполнить по sortbyTV — Сортировка по TV. Указать имя TV. А как и что не понятно.