Разная скидка в корзине на товары при условии доставки в зависимости от вендора

Здравствуйте.
Собственно вопрос в заголовке

Суть:
Много товаров разных производителей в магазине.
Магазин должен давать дополнительную скидку при самовывозе.
Скидка на все идет 10%

Нужно сделать условие, что для определенной категории товаров (то есть например по паренту) и при условии конкретного бренда (то есть вендора) скидка в корзине именно на этот товар при самовывозе другая, например 5%.

На все скидка меняется. Но на выборочные товары, чтобы была разная скидка при условии самовывоза — нет.

Нужна помощь, подсказка, коммент, что читать, какое событие попробовать или какие то еще вариенты.
yuri
19 мая 2022, 20:20
modx.pro
520
0

Пересчет цены от общей сумы в корзине minishop2

Доброго дня, очень надеюсь на Вашу помощь… Есть розничная цена (price) и оптовая (old_price). Если сумма заказа меньше 2000 руб — цена розничная, если больше — оптовая.
Сам плагин
<?php
switch ($modx->event->name) {
    case 'msOnChangeInCart': case 'msOnAddToCart': case 'msOnRemoveFromCart': 
        $total_cost_min = $cart->status()['total_cost_min'];
        
        $tmp = $cart->get();
        
        if ($total_cost_min > 200) {
            foreach ($tmp as $key1 => $value) {
                if ($product = $modx->getObject('msProduct', $value['id'])) {

                    $price = $product->get('price');
                    $old_price = $product->get('old_price');
                    $price = $old_price - $rate;
                	$tmp[$key1]['price'] = $price;
                    $modx->log(modX::LOG_LEVEL_ERROR, "cart: ".print_r($price,1) );
                	
                	
                }
            }
        }
        else {
            foreach ($tmp as $key1 => $value) {
                if ($product = $modx->getObject('msProduct', $value['id'])) {
                	$tmp[$key1]['price'] = $product->get('price');
                }
            }
        }
        $cart->set($tmp);
    break;
}
total_cost_min — это сумма заказа с розничной ценой.
Вроде все работает. Но не могу сделать динамическое обновление цен в корзине. Вернее они меняются только у того товара, у которого изменяешь количество, а все остальные не пересчитываются, только после перезагрузке страницы.
Понимаю что надо править default.js где-то в этом месте
status: function (status) {
            if (status['total_count'] < 1) {
                location.reload();
            } else {
                //var $cart = $(miniShop2.Cart.cart);
                var $miniCarts = $(miniShop2.Cart.miniCart).add(miniShop2.Cart.miniCartClass);
                if (status['total_count'] > 0 && $miniCarts.length > 0) {
                    $miniCarts.each(function (index, cart) {
                        if (!$(cart).hasClass(miniShop2.Cart.miniCartNotEmptyClass)) {
                            $(cart).addClass(miniShop2.Cart.miniCartNotEmptyClass);
                        }
                    });
                }
                $(miniShop2.Cart.totalWeight).text(miniShop2.Utils.formatWeight(status['total_weight']));
                $(miniShop2.Cart.totalCount).text(status['total_count']);
                $(miniShop2.Cart.totalCost).text(miniShop2.Utils.formatPrice(status['total_cost']));
                $(miniShop2.Cart.totalDiscount).text(miniShop2.Utils.formatPrice(status['total_discount']));
                if (typeof(status['cost']) === 'number') {
                    $(miniShop2.Cart.cost, '#' + status['key']).text(miniShop2.Utils.formatPrice(status['cost']));
                }
                
                    $(miniShop2.Cart.price2, '#' + status['key']).text(miniShop2.Utils.formatPrice(status['price2']));
  
                if ($(miniShop2.Order.orderCost, miniShop2.Order.order).length) {
                    miniShop2.Order.getcost();
                }
            }
        },
Дмитрий
19 мая 2022, 11:23
modx.pro
1 309
0

CKEditor слетает из настройки which_editor

Приветствую!

Не первый раз вижу такой «глюк». Устанавливаешь CKEditor работает все ок. Но через какое то время просто перестает работать, захожу в Системные настройки->Визуальный редактор а там пусто:
prnt.sc/t6r3VBTlXjzr

В логах ничего нет.

Переустановка помогает, но опять же слетает через время.
Причем даже воспроизвести проблему не получается, скажем так чудесным образом происходит.

Подскажите куда копать?
Что может менять-удалять настройку?
И откуда комбобох which_editor берет данные?
Константин Ильин
19 мая 2022, 10:50
modx.pro
706
0

PdoTools и Where 2 таблиц

Ребята, помогите составить запрос, всю голову уже сломал. Есть class1(таблица групп) и class2(таблица юзеров), нужно вывести только те группы, в которых количество юзеров > 20. Таблица юзеров имеет поле group_id, которое связано с id группой.
alex
19 мая 2022, 10:26
modx.pro
326
0

Цель Яндекс.Метрики на msOneClick

Подскажите кто сталкивался. Как можно вставить цель Метрики на мадальное окно msOneClick? Чтобы сорабатывала по факту отправки формы?

На AjaxForm, есть такая конструкция для вставки в модал:
&successMessage=`Заказ звонка успешно отправлен
<script>yaCounterXXXXXXX.reachGoal('call');</script>`

А вот куда впилить на msOneClick пока не разберусь?
Futuris
19 мая 2022, 09:46
modx.pro
1
486
0

Нужна верстка и бэкенд

Здравствуйте! Кто сделает верстку и бэкенд нескольких макетов страниц?
Кому интересно, пишите, скину задание, обсудим цену.
Артур Д.
18 мая 2022, 23:30
modx.pro
314
0

Последовательность опций msProductOptions

Всем привет, по какому принципу сейчас формируется порядок опций msProductOptions? Выводятся рандомно и нет параметри их сортировки.

Подскажите пожалуйста, есть решение?

Пока вопрос решил тремя вызовами сниппета, но понимаю, что это не правильно:

[[msProductOptions?tpl=`msProductOptionsTpl` &product=`[[+id]]` &onlyOptions=`model`]]
[[msProductOptions?tpl=`msProductOptionsTpl` &product=`[[+id]]` &onlyOptions=`orign_n`]]
[[msProductOptions?tpl=`msProductOptionsTpl` &product=`[[+id]]` &onlyOptions=`dop_n`]]
Константин
18 мая 2022, 12:37
modx.pro
417
0

Яндекс.Касса. При оплате на сайте просто переводит на сайт Ю.Моней

До сегодняшнего момента(но может быть и раньше это произошло) некорректно работает оплата на сайте. Подключена Яндекс.Касса, все работало прекрасно. По кнопке «оплата» открывается яндекс.касса, где вводишь данные карты и оплачиваешь. Сейчас же, по той же кнопке просто открывается Ю.Моней. Нужно залогинится, но и открывается просто ЛК. Прошу подсказать из-за чего такое произошло. Есть еще один сайт, но он крутится на битриксе, там тоже оплата через Я.Кассу и тоже все слетело, но это уже не сюда этот вопрос.
Семен
18 мая 2022, 07:57
modx.pro
808
0

Вопрос по SeoFilter и pdoFetch. + migx

Всем доброго дня. В modx не особо силён, буду очень признателен, если кто сможет помочь.
Каким образом можно добавить фильтр на страницы, если вывод идёт следующим образом:
Вячеслав
17 мая 2022, 14:35
modx.pro
479
0

Редирект на поддомен региона

В общем есть сайт с использованием seodomans, домены имеют имена ввиде msk.site.ru, spb.site.ru хотелось бы знать есть ли такое дополнение чтобы посетитель при посщении любого сайта, был переадресован автоматически как например у билайна или после предложение типо «это ваш город?» на поддомен своего региона. Заранее спасибо за ответ
Артур
17 мая 2022, 01:18
modx.pro
606
0