[msOptionsPrice2] - работа через MODx API?

А можно ли? Товаров бывает много, и, например, значения изменений цены одинаковые. Как добавлять\изменять значения?
Юрий Эффа
04 октября 2017, 10:56
modx.pro
2 254
0

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

Юрий Эффа
04 октября 2017, 13:58
0
Конечно, есть две таблицы: _msop_modifications и _msop_modification_options, но возможно Володя подскажет более изящное решение. Заранее спасибо.
    Володя
    04 октября 2017, 16:06
    +1
    есть заметка про импорт modx.pro/solutions/10193-bulk-import-modify-products-minishop2/
    если она не подходит то писать нужный функционал самостоятельно…
      Юрий Эффа
      04 октября 2017, 19:46
      0
      Спасибо. Только type добавил. Это лучше, чем строки в базу добавлять )
        Юрий Эффа
        04 октября 2017, 19:49
        0
        Подскажи плз на основании чего происходит «проверка дублирования» — при повторном запуске скрипта новые опции не добавляются, а изменённые цены обновляются.
          Володя
          04 октября 2017, 20:08
          0
          на основе опций модификации.
            Юрий Эффа
            04 октября 2017, 21:22
            0
            Можно как-то управлять очерёдностью опций? Если забиваешь их вручную, то можно отменить через msoptionsprice_sort_modification_option_values, но для api это не работает.

            В «Модификации» они отображаются в том порядке, в котором заносились, а в «Свойства товара» — сортируются.

            В селекте может это было бы не так заметно, но при переделке на радиокнопки получается полная несуразица…
              Юрий Эффа
              04 октября 2017, 22:18
              0
              Например, гигабайтность смартфонов получается как: 128GB, 256GB, 512GB, 64GB )), что не есть правильно…
                Володя
                05 октября 2017, 10:34
                0
                Можно как-то управлять очерёдностью опций? Если забиваешь их вручную, то можно отменить через msoptionsprice_sort_modification_option_values, но для api это не работает.
                В пакете используется получение опций
                $product->loadData()->get('options');
                если посмотреть github.com/bezumkin/miniShop2/blob/master/core/components/minishop2/model/minishop2/msproductdata.class.php#L492-L506
                то там стоит
                $c->sortby('value');
                судя по всему даже я это и добавил.
                Но если вы и уберете это то все равно не получите в этом методе опции в том порядке в котором добавили…

                Решения вижу два:
                1 — разобраться и решить данный вопрос, прислать PR
                2 — решение попроще — написать свой сниппет для вывода опций в том порядке что нужен вам.
                  Юрий Эффа
                  05 октября 2017, 11:02
                  0
                  не совсем понимаю, при чём здесь это, если, при ручном добавлении опций «по-очереди», порядок сохраняется — и на странице товара в админке, и построчно в таблице в базе)
                  это если без msOptionsPrice. А сортировка происходит как в написал чуть ниже.

                  У вас же в таблицу «Модификации» в админке, и в таблицы сниппета в БД строчки заносятся в нужном порядке…

                  И только в таблицу БД минишопа — с сортировкой
                    Володя
                    05 октября 2017, 11:43
                    0
                    И только в таблицу БД минишопа — с сортировкой
                    никак нет. Не заносятся они туда с сортировкой. Я указал место где проблема, и методы ее решения.
                      Юрий Эффа
                      05 октября 2017, 13:00
                      0
                      Не заносятся они туда с сортировкой.
                      Попробуйте занести программно, и руками — увидите разницу. Я пробовал и знаю о чём говорю.
                Юрий Эффа
                04 октября 2017, 22:15
                0
                Видимо, сортировка «по алфавиту» происходит от лица msOptionsPrice2 на стадии занесения опций в _ms2_product_options, т.к. при ручном добавлении позиции заносятся в нужном порядке, в нужном порядке остаются…
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          12