Всего 113 659 комментариев

Александр Мельник
11 минут назад
0
Мне кажется вам нужно и сами условия акции хорошо продумать. К примеру — человек покупает 3 товара и у самого дешевого ваш плагин поставит цену равную ноль. Но потом человек добавит в корзину еще 2 товара и у один из них еще более дешевый. Как быть — тому товару что обнулили возвращать изначальную стоимость, и теперь самому дешевому из пяти ставить нулевую? Плюс нужно позаботаться о том, что человек может и удалять товары из корзины, к примеру добавил три товара, один из них стал бесплатным, а потом удалил два с ценой и купил один товар за нулевую цену. Тоесть ваш плагин должен еще отрабатывать событие удаления товаров, изменения их количества и так далее.
Павел Гвоздь
2 часа назад
0
По-хорошему, уж до конца месяца продлить. @Leonid Krylov Леонид?)
Николай Савин
Вчера в 22:38
0
Судя по анонсу в вк — распродажа продлена до полудня понедельника
Junior
Вчера в 22:15
0
Спасибо!
Прикупились)
Артур
Вчера в 22:08
0
Можно использовать 1 плагин на 2 события.
Вероятно я мы по-разному считаем количество плагинов))) А по поводу остального, это было моё предположение.
Артур
Вчера в 22:05
0
Так ты проверил, событие срабатывает?
Sergey
Вчера в 20:45
0
switch ($modx->event->name) {
    case 'msOnChangeInCart': case 'msOnAddToCart': case 'msOnRemoveFromCart':
    $tmp = $cart->get(); //Получаем информацию о козине - т.е. список товаров
    //$modx->log(xPDO::LOG_LEVEL_ERROR, print_r($tmp, true));
    foreach ($tmp as $key1 => $value) {
            if ($product = $modx->getObject('msProduct', $value['id'])) {
                $quantity = $value['count']; // получаем кол-во товара в корзине
               
                if ($quantity > 2) {
                    $tmp[$key1]['price'] = $product->get(0);
                }
                else {
                    $realPrice = $product->get('price');
                    $tmp[$key1]['price'] = $realPrice; // Устанавливаем новую цену для товара в корзине
                }
            }
        }
    //$modx->log(xPDO::LOG_LEVEL_ERROR, $realPrice);
    $cart->set($tmp);
    break;
}
Нашел как бы пример, если кол-во больше 2 то ставит цену 0, но ставит всем товарам, а как найти товар с наименьшей ценой и ему поставить не знаю, не особо разбираюсь в написании (((
if ($quantity > 2) {
                    $tmp[$key1]['price'] = $product->get(0);
                }
                else {
                    $realPrice = $product->get('price');
                    $tmp[$key1]['price'] = $realPrice; // Устанавливаем новую цену для товара в корзине
                }
            }
        }
https://modx.pro/help/18846 тут оригинал
Aleksandr Huz
Вчера в 20:33
0
На всё это нужно два плагина, но возможно, я не учёл какие-то нюансы.
1. Можно использовать 1 плагин на 2 события.
2. msOnBeforeAddToCart — не подойдет, цена устанавливается после этого события, и после него есть еще событие msOnGetProductPrice, где какой-то компонент может изменить цену товара.
Артур
Вчера в 19:18
0
Я бы сделал так. Перед добавлением товара в корзину (msOnBeforeAddToCart) проверял бы сколько товаров уже есть в ней, если 3 и больше обнулял стоимость, соответственно при удалении товара из корзины (msOnRemoveFromCart) делал бы аналогичную проверку, но возвращал товару с нулевой стоимостью его первоначальную цену. На всё это нужно два плагина, но возможно, я не учёл какие-то нюансы.
Aleksandr Huz
Вчера в 19:17
0
Использовать событие msOnAddToCart
Евгений
Вчера в 18:02
0
да, вот пытаюсь разобраться как такой плагин сделать :)
Евгений
Вчера в 18:01
0
еще бы внутри коллекции сортировку, чтото там как то странно, не могу понять :(
Артур
Вчера в 17:44
+1
Если XParser создаёт ресурсы через процессоры, то скорее всего срабатывают системные события, значит можно попробовать на OnDocFormSave отменять публикацию.
Евгений Webinmd
Вчера в 16:53
+1
из документации
sortby = { "tvname":"ASC", "publishedon":"DESC" }
с ASC и DESC уже меняй как надо
Евгений
Вчера в 16:38
0
вроде завелось включение на да проставляется а на нет просто скидывает заполненность, так тоже сойдет :)

осталось двойную сортировку в pdoresources
Николай Савин
Вчера в 11:29
+1
На данный момент скидки активны.
Фарит
Вчера в 11:09
+1
Логично будет еще 1 день добавить
Николай Савин
Вчера в 10:50
0
Запросили администрацию магазина — ждем ответа
Junior
Вчера в 10:10
0
Вот подскажите
Есть у меня к примеру xml
вот кусок

<code>24175</code>
<vendor>(Пигас)</vendor>
<name>Футболка S-L Happiness 24175</name>
вот какие нужно поставить значение к примеру для тега vendor, т.е. это категория товара (minishop2|categories) на сколько я понял.
Но как его записать в «поле источника» что бы оно тянуло верно в minishop2|categories?