Артур Шевченко

Артур Шевченко

Был в сети 4 часа назад
Заказы принимаю
Отправить деньги
В плагине напиши $modx->log(1, print_r($_POST,1) только журнал ошибок почисть сначала, потом посмотр что приходит. Так же $tmp распечатай, посмотри что там. Ну да, ты же в настройках плагина галочку поставил напротив события msOnChangeInCart?
У msOptionsPrice2 есть специальный сниппет для этого.
Сниппет msOptionsPrice.modification
Предназначен для вывода модификаций продукта. Часто требуется отдельно вывести информацию о различных модификациях продукта, теперь это достаточно просто сделать. Нужно вызвать сниппет
В одном поле вывести и то и другое не получится. Тут либо легко контент менеджеру либо тебе, ты выбрал менеджера, поэтому можешь сделать по предложенной схеме, а в шаблоне использовать сниппет в который будешь передавать pagetitle и получать по нему ресурс или id. Я у себя на сайте столкнулся с подобной ситуацией, но я выбрал выводить id в админке.
Плагин который я предложил меняет цену ТОЛЬКО в корзине, т.е. в самом ресурсе цена не меняется, другая цена будет в этом конкретном заказе. Соответственно можно будет сравнить цену в заказе и цену у ресурса.
Это так не работает, от того что вы измените вес на фронте, заказ корректно не пересчитается. Когда вы меняете количество отправляется ajax запрос на сервер в котором передается только количество, при этом даже если вы скопируете поле и дадите ему другое имя на сервере обработается только переданное количество, поэтому менять вес нет никакого смысла. Из вашего же объяснения следует, что менять надо цену, для этого нужен плагин на событие msOnChangeInCart, который будет из массива $_POST брать новую цену и менять старую. Вот тут docs.modx.pro/komponentyi/minishop2/razrabotka/sluzhbyi/korzina#%D0%A1%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%BD%D1%8B%D0%B5-%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D1%8F написано какие переменные доступны в плагине. Чтобы посмотреть как выглядит корзина используйте вот такую конструкцию $tmp = $cart->get(); Распечатайте в консоль и посмотрите. Скорее всего должно получится как-то так:
switch ($modx->event->name) {
        case 'msOnChangeInCart':
            $tmp = $cart->get();
            $tmp[$key]['price'] = $_POST['price'];
            $cart->set($tmp);
         break;
}