Разные типы сортировок для категорий.

Всем привет! У меня сайт на minishop2 и msearch. Есть товары с разным набором опций, допустим металлочерепица и гибкая черепица. У металлочерепицы не может быть фильтра по форме и мне нужно его скрывать. Как это сделать?
tpl.mFilter2.outer.2
<div  class="row msearch2" id="mse2_mfilter">
	<div id="hide-filter" class="span3 col-md-3 hide-block asd1">
		<form  action="[[~[[*id]]]]" method="post" id="mse2_filters">
		  	<a href="[[~[[*id]]]]"><span  class="but-default">Очистить всё</span></a>
			[[+filters]]
			
			 	<a href="[[~[[*id]]]]" class="visible-xs"><span  class="but-default">Очистить всё</span></a>
			
		  <div class="sticky-result">
		  
		  <div id="button-filter-close" class="but-default">Найдено товаров <span id="mse2_total">[[+total:default=`0`]]</span></div>
		  
		  </div>
		</form>
		
	</div>

<div class="span9 col-md-9 catalog-list">
<div id="button-open-filters" class="but-default">Фильтры</div>
		<div class="row">
		<div class="hidden-xs sort-price">Сортировать по:
    <select class="selectpicker"  id="mse2_sort" data-width="fit">
      <option class="sort" data-sort="price" value="asc" data-icon="icon-sort-amount-asc">По цене</option>
      <option class="sort" data-sort="price" value="desc" data-icon="icon-sort-amount-desc">По цене</option>
      <option class="sort" data-sort="vendor" value="asc" data-icon="icon-sort-amount-asc">По марке</option>
      <option class="sort" data-sort="vendor" value="desc" data-icon="icon-sort-amount-desc">По марке</option>
      <option class="sort" data-sort="color" value="asc" data-icon="icon-sort-amount-asc">По цвету</option>
      <option class="sort" data-sort="color" value="desc" data-icon="icon-sort-amount-desc">По цвету</option>
      <option class="sort" data-sort="formacherepici" value="asc" data-icon="icon-sort-amount-asc">По форме</option>
      <option class="sort" data-sort="formacherepici" value="desc" data-icon="icon-sort-amount-desc">По форме</option>
    </select>
    </div>
   <div class="kolvo-rez">Показывать товаров:
			<select name="mse_limit" id="mse2_limit" class="selectpicker" data-width="50px">
			  <option value="12" [[+limit:is=`12`:then=`selected`]]>12</option>
			  <option value="24" [[+limit:is=`24`:then=`selected`]]>24</option>
			  <option value="48" [[+limit:is=`48`:then=`selected`]]>48</option>
			</select>
		</div> 
		</div>
		<div id="mse2_selected_wrapper">
			<div id="mse2_selected">[[%mse2_selected]]:<span></span>
			</div>
		</div>
		<div id="mse2_results">[[+results]]</div>
	</div>
  <div class="mse2_pagination text-center clearfix">[[!+page.nav]]</div>
	<div class="kategorytext pt20">[[*drugieproizvoditeli]]</div>
	<div class="kategorytext">[[*kategorytext]]</div>
</div>
На странице категорий вызываю фильтр так:
[[!mFilter2?
    &filter_delimeter=`$` 
    &limit=`24` 
    &where =`ms$price:asc` 
    &parents=`808,836,837,838,839,840,842,844,845,847,848,849,974,1589,1895,5522,5941,5945`
    &element=`msProducts`
        &leftJoin=`{
            "Forma": {
                "class": "msProductOption",
                "on": "Forma.key = 'formacherepici' and Forma.product_id = msProduct.id"
            }
        }`
    &sortAliases=`{"formacherepici":"Forma"}`
    &aliases=`ms$price==price,formacherepici$value==formacherepici`
    &filters=`ms$price:number,parent:categories,msoption$formacherepici:option,ms$tip:tip,msoption$tipbituma:option` 
    &tpls=`tpl.msProducts.row,tpl.msProducts.row2` 
    &class=`msProduct` 
    &sort=`ms$price:asc`
     
    &tplOuter=`tpl.mFilter2.outer.2` 
    &tplFilter.outer.price=`tpl.mFilter2.filter.slider` 
    &tplFilter.row.price=`tpl.mFilter2.filter.number` 
    &tplFilter.row.resource$parent=`tpl.mFilter2.filter.checkboxshinglas`
    &tplFilter.outer.msoption$formacherepici=`tpl.mFilter2.filter.checkboxshinglasforma`
    &suggestionsRadion=`ms$tip`
    &suggestionsRadion=`ms$formacherepici`
  ]]
Roman
30 сентября 2019, 15:27
modx.pro
484
0

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

Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
0