compare - не работает сравнение товаров с разных категорий

В магазине есть несколько вложенных категорий - каталог/производитель/категория/товар. При этом товары имеют одни и те же характеристики (это одежда - цвет, рост, размер и т. д.).

В compare есть параметр onlyThisParentId, который вроде как установлен в 0, тоесть позволяет сравнивать со всех категорий, но на самом деле это не так.

Отрывок из документации:

onlyThisParentId - ID категории (документа), в которой можно добавить товары к сравнению. Запрет сравнения товаров из разных категорий. По умолчанию - 0 (любая категория).

Вызываю так:

[[!compare?
&comparePageId=`15`
]]

Потом так:

[[!compare?
&comparePageId=`15`
&onlyThisParentId=`0`
]]

В исходном коде конфиг вроде как указан корректно:

<script type="text/javascript">
  var cmpr_config = {"minProducts":2,"limitProducts":0,"targetActiveClass":"","onlyThisParentId":"false"};
</script>

В результате если выбирать товары с других категорий всё равно накладывается ограничение и появляется alert.

0_1480691903895_02-Dec-16 5-17-22 PM.png

Подумал может я что-то намудрил или кэш в браузере не обновил - всё почистил и в браузере и в админке и в ручную (папку core/cache). Ситуация не изменная.

Потом открыл демо сайт с Shopkeeper3, посмотрел как там сделанно (там этот параметр не указан, тоесть должен быть равен 0 без ограничений), но по факту получил такой же alert.

0_1480692190502_02-Dec-16 4-54-31 PM.png

Ещё прозьба выложить исходники на GitHub - думаю что там было бы удобней писать об ошибках и предложения.

Спасибо за ответ!

@kamuz Это ошибка в коде плагина. Связано с одной проверкой в js коде. Если закоментировать её или удалить, то будет вам счастье. если устанавливайте параметр добавления товаров из другой категории, то алерта не будет. Я у себя именно так и сделал.

@anton83 Спасибо. Сейчас попробую

@kamuz Находится проверка в файле assets/components/compare/js/compare.js
96 строка кода:

 //добавляем ID в список для сравнения
        if( isChecked ){
            /*Комментирую, так как мне данная проверка не нужна
            //если добавляется товар из другой категории
            if( cmpr_config.onlyThisParentId != false && compareParentId != parentid ){
                if( typeof cmpOnToCompareFromAnotherCategory == 'function' ){
                    var compareConfirm = cmpOnToCompareFromAnotherCategory();
                }else{
                    var compareConfirm = confirm('Вы можете сравнивать товары одной категории.  При добавлении данного товара в список старые данные будут удалены.');
                }
                if( compareConfirm ){
                    this.setCookie('shkCompareIds', id, 365*60*60);
                    this.setCookie('shkCompareParent', parentid, 365*60*60);
                    window.location.reload();
                    if ( isCheckbox ){ return true; } else { return false; }
                }else{
                    return false;
                }
            }
            */

А так всплывает окно предупреждения даже если в одной категории или если включено из разных категорий добавлять. В этом случае необходимо просто закрыть этот алерт и добавится, но для пользователя раздражительно и не понятно.

@anton83 Спасибо, я уже нашёл эту проверку. Всё равно это нужно поправить в самом дополнении, тоесть чтобы можно было включать или отключать по требованию.

@kamuz Нужно. Я тогда давно уже указывал на это и код приводил, но чет молчание.

Задачи принимаются здесь https://github.com/andchir/shopkeeper3/issues

@Andchir Я предлагаю создать отдельный репозиторий под дополнение compare и там добавлять или вносить правки - всё таки Shopkeeper это отдельное дополнение, хотя и решает множество задач.

@Andchir Ещё было бы полезно включить алерты написанные для этого дела - имею в виду твою функцию siteLib.alert() - правда мне пришлось её немного под себя настроить, так как я использую фреймворк UIKit, но всё равно красивые алерты для этого дополнения как раз очень кстати.

Кстати, тут уже давно исправленная версия https://github.com/andchir/shopkeeper3/tree/master/core/components/compare
Нужно только обновить файлы. Видимо я забыл собрать в пакет.

@Andchir Т.е скоро обновленный пакет можно ожидать? По остальным компонентам тоже обновления будут, например getProducts?

Похоже, подключение к Форум | MODX Shopkeeper было разорвано, подождите, пока мы пытаемся восстановить соединение.