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