Исключение документов из выборки

Компонент msExtraFields позволяет устанавливать у товаров свойства, которые не были указаны в родительских категориях, соответвенно внутри некой категории мы не сможем отфильтровать данные по этим свойствам. Но вы также можете вывести все свойства (которые позволительно использовать в фильтре), которые используются в товарах.

Для этого вам необходимо указать &ms2efs_filterType=`product` в параметрах сниппета. Как и в случае с выборкой из категорий на товары распространяется те же самые свойства, например ms2efs_borders и работают они по тем же принципам. Исключением составляет то, что параметр ms2efs_resourceId влияет на значения свойств полученных в итоговой выборке ms2efs_borders. Причиной этого поведения является то, у характеристик в категориях могут разные значения свойств, и в зависимости от текущего положения в фильтре, относительно категорий, в которых определены полученные свойства, мы увидим именно те значения свойств, т.е. скрипту необходимо иметь привязку к документу в зависимости от сформированного условия.

В текущем примере, в товаре Apple(26) объявленно свойство "Свойство вне категории". Которое должно быть возвращено в фильтр (более подробно рассмотренно в Формирование свойств из товаров). Предположим, что оно нам категорически не нужно, и для его исключения мы воспользуемся параметром ms2efs_excludeIds.

Рассмотрим ключевые параметры:

СвойствоОписание
&parents=`5` Чтобы в выборку попали товары из категорий соответствующих правилу указанному в ms2efs_borders укажем через запятую ID родителей, хотя также можно указать и самый верхний элемент дерева (2) или даже ноль (0), но в таком случае при первыичном открытии страницы без применения фильтра будут отображены все товары находящиеся в этих категория не зависимо от применения к ним фильтра.
&ms2efs_resourceId=`20` Значение текущего параметра в данном случае ни на что не влияет, но для того чтобы механизм заработал необходимо указать в нем ID любой категории товара. Как видно не смотря на то что сдесь указан документ "Коробочки", в выборку он не попадет, так как на это влияет свойство parents ограничивая его телефонами.
&ms2efs_borders=`5` Значение ID категории, которое является родителем товаров из которых будут формироваться свойства.
&ms2efs_filterType=`product` Говорит о том, что нужно вернуть свойства только из товаров категорий.
&ms2efs_excludeIds=`26` Перечисляем Id документов через запятую, чьи свойства (или значения свойств) которых должны быть исключены из фильтра.

			
  • aliases - то как это будет в адресной строке
  • filters - обязательно, без него не получиться фильтровать данные с учетом свойств
  • tpl - чанк найденного товара, в нем также вызываеся получение хар-к.
  • ms2efs_filterType = category - запрашивает данные для фильтра из текущей категории, более подробно в разделе Фильтры
  • ms2efs_ - все параметры чье имя начинается с этого префикса, передаются в обработчик динамических свойств
{'!mFilter2' | snippet : [ 'showLog' => '0', 'showSearchLog' => '0', 'cacheTime' => '1', 'class' => 'msProduct', 'element' => 'msProducts', 'loadModels' => 'ms2gallery', 'limit' => '24', 'aliases' => 'ms|price==price, msextrafields|all==filters', 'filters' => 'ms|price:number, msextrafields|all:msextrafields', 'tplFilter.row.filters' => '@INLINE: {$title}', 'tplFilter.outer.filters' => '@CHUNK: mf_outer_filters', 'tplFilter.outer.price' => '@CHUNK: tpl.mFilter2.filter.slider', 'tplFilter.row.price' => '@CHUNK: tpl.mFilter2.filter.number', 'tplOuter' => '@CHUNK: mf_outer', 'tpl' => '@CHUNK: mf_cat_tpl', 'suggestions' => '0', 'sortby' => '{ "price":"asc" }', 'parents' => '5', 'ms2efs_resourceId' => '20', 'ms2efs_excludeIds' => '26', 'ms2efs_borders' => '5', 'ms2efs_filterType' => 'product', 'ms2efs_log_status' => '0', ]}

Цена

Динамические характеристики:

Общие

Начинка

диапазон

Инфа

диапазон

Всего результатов: 7

Вы выбрали:
Отображать по:

Специальный 1

Производитель: Apple   Тип телефона: Смартфон   Есть на складе: Да  Вес: 300 / см. Время работы: 2000 / час. Цвет: Желтый   Операц система: Linux   Размер экрана: 6.3 / дюймы Аккумулятор: 5000 / mah Подарок: Бутылка водки   Бутылка и закуска  

Explay PowerBank

Производитель: Explay   Тип телефона: моноблок   Есть на складе: Да  Вес: 477 / см. Время работы: 1000 / час. Цвет: Синий   Зеленый   Операц система: Android   Размер экрана: 5.2 / дюймы Аккумулятор: 5000 / mah Подарок: флешка 8гб.   флешка 16гб  

Apple

Image
555 руб. / шт. 777 руб.
Производитель: Apple   Тип телефона: Смартфон   Свойство вне категории: 1   2   3   Размер экрана: 5.5 / дюймы Аккумулятор: 5000 / mah Подарок: флешка 8гб.   флешка 16гб   только чехол   Цвет: Желтый   Есть на складе: Да  Вес: 300 / см. Время работы: 2000 / час. Операц система: Linux  

Nokia 3100

Image
3 700 руб. / шт.
Тип телефона: Смартфон   моноблок   раскладушка   Цвет: Синий   Белый   Красный   Зеленый   Желтый   Операц система: WinOS   Есть на складе: Да  Вес: 500 / см. Время работы: 120 / час. Аккумулятор: 2400 / mah Подарок: флешка 8гб.   флешка 16гб   чехол и брелок   только чехол