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

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

С нами с 24 мая 2019; Место в рейтинге пользователей: #7
Отправить деньги
Артур Шевченко
04 марта 2021, 21:30
0
Забыл $option->save();
$products = $modx->getIterator('msProduct', array('parent' => 24));
foreach($products as $product){
    $options = $product->getMany('Options');
    foreach($options as $option){
        if($option->get('key') == 'option_key'){
             $option->set('value', 1235);
            $option->save(); // тут
        }
    }
    
};
Артур Шевченко
04 марта 2021, 20:59
0
А у вас внутренние страницы в правиле указаны?
Артур Шевченко
04 марта 2021, 20:51
0
Самый простой вариант
$products = $modx->getIterator('msProduct', array('parent' => 24));
foreach($products as $product){
    $options = $product->getMany('Options');
    foreach($options as $option){
        if($option->get('key') == 'option_key'){
             $option->set('value', 1235);
        }
    }
    
};
Артур Шевченко
03 марта 2021, 22:50
0
Готовых решений нет. Вариантов решения два:
1. Написать js скрипт, который будет пересчитывать стоимость в зависимости от категории, показывать результат пользователю и записывать его в поле скажем delivery_cost, написать плагин на событие msBeforeCreateOrder где менять стоимость доставки, если в массиве $_POST есть delivery_cost.
2. Переопределить класс расчёта стоимости доставки, добавить туда проверку родителя и в зависимости от результатов проверки менять стоимость доставки.
Скрипты и стили
Как расширить класс
Артур Шевченко
03 марта 2021, 20:30
0
А что пишут в документации по этому поводу? А что говорит ТП?
Артур Шевченко
02 марта 2021, 23:51
+2
Нет, но автор же говорит что сделал, а динамическую не сделал, надо же понять что не сделано, а что сделано зачем переделывать, если работает??
Артур Шевченко
02 марта 2021, 21:51
0
динамическую карту изображений
Что за зверь такой?
Артур Шевченко
02 марта 2021, 21:50
0
Решение есть. Надо искать ошибку.
Артур Шевченко
01 марта 2021, 21:41
+1
что до ограничения, то нужно найти или создать в системных настройках ключ ms2_cart_max_count. А что до логики, то я не понимаю как она ломается. У вас товар продается в кг и цена за кг, значит вполне логично если количество будет в кг. Ладно бы цена была бы за связку, а продавать надо было бы в кг, вот тогда нелогично и надо писать плагин.
Артур Шевченко
01 марта 2021, 18:37
+1
может глупость спрашиваю, но почему нельзя указывать количество килограмм в поле количество?
Артур Шевченко
28 февраля 2021, 19:23
0
JavaScript выполняется последовательно, если ошибки появляются раньше, чем срабатывает скрипт плагина, то он не сработает из-за этих ошибок.
Артур Шевченко
28 февраля 2021, 13:07
1
+1
Напишите
foreach ($records as $r) {
  if (is_object($r)) $r = $r->toArray('',false,false,true);
  $r['idx'] = $i;
...
После этого по идее в чанке должен появиться плейсхолдер idx;
Артур Шевченко
28 февраля 2021, 00:29
0
Видео не заменяется на ссылку, вы об этой магии? А в консоли чисто? В логах тоже?
Артур Шевченко
28 февраля 2021, 00:25
0
Судя по сниппету итераций нет, есть метод format и вероятно итерации в нём, а сам метод определен очевидно в классе, значит надо смотреть что там.
Артур Шевченко
27 февраля 2021, 21:29
0
Было бы здорово если бы ты развил мысль насчёт параметров, мне тоже интересно, что там не по канону.
Артур Шевченко
27 февраля 2021, 21:28
0
А что мешает ставить не 1, 2, 3, а например id ресурса?
Артур Шевченко
27 февраля 2021, 11:44
0
Скинь код сниппета
Артур Шевченко
26 февраля 2021, 23:50
0
Если приложить утюг к языку, то тоже мало пользы будет, но полезность утюга это не отменяет. С технологиями то же самое.
Согласен, нужно не только уметь включить утюг, но ещё и знать как гладить.
Артур Шевченко
26 февраля 2021, 23:43
0
Рекомендую этот цикл заметок того же автора