webmagnit

webmagnit

С нами с 22 сентября 2019; Место в рейтинге пользователей: #2857
webmagnit
22 сентября 2019, 15:28
0
Здравствуйте. Тестирую фильтрацию в mFilter2 по модификациям msOptionsPrice2.

Хостинг modhost.pro
MODX Revolution 2.7.1-pl
Версия PHP 7.1
miniShop2 — 2.5.0-pl
mSearch2 — 1.13.2-pl
msOptionsPrice2 — 2.5.20-beta
pdoTools — 2.12.3-pl

Создал опции товаров (miniShop2):
option-01, option-02, option-03
Тип свойства «Список с автодополнением»


В шаблоне категории:

[[!msOptionsPrice.initialize?]]
[[!mFilter2?
&limit=`5`
&parents=``
&element=`msProducts`
&class=`msProduct`
&setMeta=`1`
&filters=`
msop|option-01,
msop|option-02,
msop|option-03,
msop|price:number
`
&tplOuter=`tpl.mFilter2.outer`
&tpls=`tpl.msProducts.row,tpl.msProducts.row`
&sort=`ms|price:desc`

&tplFilter.outer.msop|option-01=`tpl.mFilter2.filter.select`
&tplFilter.row.msop|option-01=`tpl.mFilter2.filter.option`
&tplFilter.outer.msop|option-02=`tpl.mFilter2.filter.select`
&tplFilter.row.msop|option-02=`tpl.mFilter2.filter.option`
&tplFilter.outer.msop|option-03=`tpl.mFilter2.filter.select`
&tplFilter.row.msop|option-03=`tpl.mFilter2.filter.option`
&tplFilter.outer.msop|price=`tpl.mFilter2.filter.slider`
&tplFilter.row.msop|price=`tpl.mFilter2.filter.number`
]]


У товаров в модификациях (msOptionsPrice2) прописано:
Product-01:
модификация 1:
Option-01 Ford
Option-02 Focus
Option-03 2001,2002,2003

Модификация 2:
Option-01 Hyundai
Option-02 Accent
Option-03 2002,2003,2004

Product-02:
модификация 1:
Option-01 Audi
Option-02 100
Option-03 2001,2002,2003

Модификация 2:
Option-01 BMW
Option-02 3
Option-03 2002,2003,2004


Скопировал файл msopfilters.class.php в папку /core/components/msearch2/custom/filters


В системных настройках msearch2 указал Класс-обработчик фильтров «msopFilters»


В системных настройках msoptionsprice указал Активные опции модификаций «option-01,option-02,option-03»


В итоге:
Фильтр (mFilter2) по модификациям (msOptionsPrice2) пустой

В журнале ошибок
[2019-09-22 14:14:58] (ERROR @ /core/components/msearch2/custom/filters/msopfilters.class.php: 52) [mSearch2] Error on get filter params.
Query: SELECT msProductData.id, msopModification.option-01, msopModification.option-02, msopModification.option-03, msopModification.price FROM `modx_ms2_products` AS `msProductData` LEFT JOIN `modx_msop_modifications` `msopModification` ON msProductData.id = msopModification.rid AND msopModification.type = 1 AND msopModification.active = 1 WHERE `msProductData`.`id` IN (3,4) GROUP BY msopModification.id
Response: Array
(
[0] => 42S22
[1] => 1054
[2] => Unknown column 'msopModification.option' in 'field list'
)

Подскажите, что я сделал неправильно?