Всего 123 801 комментарий

Артур Шевченко
20 февраля 2023, 17:16
0
Ну не знаю. Факт в том, что в моём варианте с minishop2 >4.0.0 код после $miniShop2->order->submit() не выполняется.
Денис Усачев
20 февраля 2023, 17:02
0
может кому будет полезно: конструкция посредством Fenom

{set $baza_filter = $_modx->resource.baza_filter[0]}
{set $baza_color = $_modx->resource.color_filter[0]}
'optionFilters' => ' { "baza_filter":"'~ $baza_filter ~'" , "color_filter":"'~ $baza_color ~'"  } ' ,
Тодор
20 февраля 2023, 16:38
0
Я использу вот такой снипет для отладки ответов после submit():
<?php
$formFields = $hook->getValues();
$count = (float) $formFields['count'];
$id = (int) $formFields['id'];
if($id <= 0){
    $hook->addError( 'id', "Неправильное ID товара" );
    return false;
}
if ($miniShop2 = $modx->getService('miniShop2')) {
    $miniShop2->initialize($modx->context->key, array(
        'json_response' => true,
        'max_count' => 1000,
        'allow_deleted' => false,
        'allow_unpublished' => false
    ));
    $tmp = $miniShop2->cart->get();
    $miniShop2->cart->clean();
    $miniShop2->cart->add( $id, $count, $formFields['options']);
    $miniShop2->order->add( 'receiver', $formFields['receiver'] );
    $miniShop2->order->add( 'email', $formFields['email'] );
    $miniShop2->order->add( 'delivery', $formFields['delivery']); // id метода доставки
    $miniShop2->order->add( 'payment', $formFields['payment']); // id метода оплаты
    if($response = $miniShop2->order->submit()){
        if($response['success'] != 1){
            $response = json_decode($response, 1);
            $hook->addError('receiver', $response['message']);
            if(!empty($response['data'])){
                foreach($response['data'] as $field){
                    $hook->addError($field, $response['message']);
                }
            }
            return false;
        }
        $miniShop2->cart->set($tmp);
        return true; // Успешное оформление заказа
    }else{
        $hook->addError('receiver', 'Ошибка при оформлении заказа');
        return false;
    }
}else{
    $hook->addError("receiver", "Проблема инициализации магазина");
    return false;
}
Артур Шевченко
20 февраля 2023, 15:40
0
Всё верно, корзину надо очищать перед оформлением, а вот вернуть то состояние которое было не выйдет, так как после выполнения метода submit() никакой код не выполнится.
Тодор
20 февраля 2023, 15:20
+1
Если не ошибаюсь, то етот код добавит в уже существующе корзину товар, после чего оформляет заказ. Но заказ в 1 клик ето покупка только поточного товара. По етомо после инициализации минишопа я бы еще добавил:
$tmp = $ms2->cart->get();
$ms2->cart->clean();
а после оформления заказа, вернуть назад прежнее содержимое корзини
$ms2->cart->set($tmp);
Prihod
20 февраля 2023, 14:53
0
Скинь в личном сообщении доступ в админку, так же скрин что ты вводишь
Тодор
20 февраля 2023, 12:14
0
Добрий день! После выбора области и населеного пунтка, если оставлять поле «Отделение» пустым, и нажать на карту, то открывается ПУСТАЯ карта, без отделении. На демо видео показано что там уже дожны подтягиватся отделения. Если уже выбрать отделение и потом открыть карту — то там уже есть отделения.
И вторая проблема ето то что в селах не подтягиваються названия улиц для — Доставки курером.
Stepan
19 февраля 2023, 17:57
0
Алексей, в карточке товара я бы сбрасывал количество после добавления
Андрей Степаненко
19 февраля 2023, 16:13
+2
Надо не забывать что есть много платежных сервисов которые сделали свои пакеты, их да же нету в modstore
99% что они по тому же пути обращаются

Андрей Степаненко
19 февраля 2023, 16:04
+3
линки на контроллеры:
components/minishop2/handlers/mspaymenthandler.class.php
components/minishop2/handlers/msdeliveryhandler.class.php
Возможно оставить в папках:
components/minishop2/model/minishop2/msdeliveryhandler.class.php
components/minishop2/model/minishop2/mspaymenthandler.class.php
??

Сейчас компоненты которые раньше обращались к эти классам, нужно перерабатывать.

Скорей всего таких компонентов много, то есть все те что связаны с доставкой и оплатой
Андрей Степаненко
18 февраля 2023, 04:45
0
Это не обида, это меры чтобы избавится от лишней работы, так как сейчас перегружен.
.
Про все что написал, больше к развитию на modstore относится.
Мотивы таких товарищей и так ясны, компонент тут лишь повод, не он первый, ни он последний.
Дима Касаткин
17 февраля 2023, 23:32
0
Всем привет! Я понимаю, что страсти кипят, покупатель компонента выслеживал программиста практически уже в оффлайне, а программист тем временем похоже был в отпуске и решил на время абстрагироваться от рабочего потока, залипая в ВКшечке, что ещё больше возмущало покупателя, но кажется все нашлись, и вопрос более менее понятным образом приходит к завершению…

Тогда давайте, что-ли, жить дружно, и можно теперь к топику на минутку вернуться? :-)

Я посматривал давно на AntiBot, даже советовал посмотреть на этот компонент людям кто сталкивался с нагрузкой от ботов или спама… Но сам так и не купил компонент, а теперь вы тут устроили разборки и под раздачу попал полезный инструмент…

Короче, @Андрей Степаненко, камон дружище, хорош обижаться, верни компонент! И напиши сюда что-ли, что там за репозиторий такой был хитрый со стоп-листами, давайте что-нибудь придумаем совместно, у меня вроде есть пара ссылок на github с подборками user-agent-ов и ip ботов, но я точно не знаю что там было под заветной кнопкой со скриншота!
Артур Шевченко
17 февраля 2023, 22:46
0
Для будущих проектов рекомендую рассмотреть компонент AjaxFormitLogin, там всё просто, понятно и предсказуемо. А главное этот один компонент заменит Login и AjaxForm.
Андрей Степаненко
17 февраля 2023, 22:12
0
А у нас как везде
Че там программист) Ну ответит)
Какойго хера))
Я понимаю что программист может все
Ну нахер сбрасывать на него все это…
Кто в итоге страдает, сервис, клиенты, программист?
мне кажется все

У бизнесменов программисты как винтики в процессе, сами придумывают сами дизайн сайтов рисуют и еще и общаются на Ура со всеми.
Че я могу сказать))) Прошло время
Columb
17 февраля 2023, 22:08
0
Я так и не смог перейти на modx 3)). Опять же — на modstore нет внятной фильтрации дополнений, которые работают с modx 3…
Андрей Степаненко
17 февраля 2023, 22:07
0
оперативный отклик на заданный вопрос в техподдержку
Именно, человек первой линии поддержки