Ошибка при работе с комплектами miniShop

Возникает ошибка при очистке ресурсов от удалённых страниц.
Для интернет магазина используются комплекты товаров.

1) Создаю товары, создаю комплекты, привязываю товары к комплектам. Удаляю любую страницу (ресурс), нажимаю кнопку очистить, и пропадает связка у всех комплектов с товарами.

Честно, не стал разбираться, не имею представления в чём может быть причина.

2) Вторая проблема была связана с msGetResources 1.4.2pl разных указанных ниже версий. В ранней версии выводил правильно комплект, в поздней — ничего, даже с шаблоном tpl.good
[[+id]]

Вызов:
[[!getPage?
                    &element=`msGetResources`
                    &tpl=`tpl.good`
                    &limit=`16`
                    &sortbyMS=`price`
                    &sortdir=`ASC`
                    &where=`[{"template:!=":7]}`
                    &includeTVs=`1`
                
                    &pageActiveTpl=`[[$gp.nav.ActiveTpl]]` 
                    &pagePrevTpl=`[[$gp.nav.PrevTpl]]` 
                    &pageNextTpl=`[[$gp.nav.NextTpl]]` 
                    &pageFirstTpl=`[[$gp.First]]` 
                    &pageLastTpl=`[[$gp.Last]]`
                    &pageNavTpl=`[[$gp.navTpl]]`
                    &pageNavVar=`gnews`
                  ]]
Где template 7 — шаблон категории

Решение: перезаписал msGetResources от v 1.9.2 в v 1.9.4 на сайте и всё заработало правильно.

MODX Revolution 2.2.4-pl (traditional)
miniShop v 1.9.2, v 1.9.4

P.S.
1) Был бы рад получить возможность вести блог
2) Было бы здорово оставить в miniShop 2 комплекты товаров + возможность делать скидки в зависимости от количества, веса товара
3) Так же здорово сделать вывод как Wyfinder с учётом принадлежностей товаров к разным категориям.
Вячеслав Серков
09 января 2013, 22:16
modx.pro
1 253
0

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

Василий Наумкин
10 января 2013, 05:47
0
Да, есть глюк с удалением связей. Лечим заменой в плагине на строке 43:
$q = $modx->newQuery('ModKits',array('rid:IN' => $ids));
$q->orCondition(array('gid:IN' => $ids));
$modx->removeCollection('ModKits', $q);
на
$modx->removeCollection('ModKits', array('rid:IN' => $ids));
$modx->removeCollection('ModKits', array('gid:IN' => $ids));

С msGetResource я что-то накрутил, видимо. Сейчас нет времени разбираться, но твоё решение вполне себе нормальное.

P.S.
1. Ты про блог у меня на сайте? Если да, то только через премодерацию в разделе «Вопросы». Пиши сюда заметку — если понравится, перенесу в другой блог.
Ну а вообще, есть как минимум 2 сообщества про MODX на LiveStreet, там свободная регистрация и создание блогов.

2. Комплекты будут, но поумнее сделанные. Система скидок — отдельная тема, она будет значительно позже.

3. Ты имеешь в виду, построить дерево товаров? Так Wayfinder и сейчас это может. В MS2 будут более продвинутые товары и там (скорее всего) стандартные сниппеты смогут сразу выводить цену и другие характеристики, сами того не подозревая.
    Вячеслав Серков
    05 февраля 2013, 16:49
    0
    1. Wyfinder не может учитывать того, что товар принадлежит нескольким категориям.

    2. Говорил не про удаление связей, а про то, что при удалении любого документа, даже не связанного с miniShop, сбрасываются все связи у комплектов в miniShop, сами комплекты остаются.

    P.S. Жду выхода miniShop2, есть прогноз даты завершения?
      Василий Наумкин
      05 февраля 2013, 17:08
      0
      1. Конечно, как он сам залезет с таблицу связей?

      2. Да, был баг, в последней версии поправлен, благодаря тебе.

      Прогноз хороший, февраль — март.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      3