Михаил

Михаил

Был в сети 02 июня 2022, 12:36
Заказы не принимаю
все работает, но до следующей очистки кеша.
Потому что вы правите закэшированный сниппет, а вам необходимо поправить исходный.
В админке сайта в разделе сниппеты найдите сниппет с id=20 и проделайте все тоже самое в нем
В моем случае править ничего не нужно было.
Я просто удалил эту папку
/core/cache/lexicon_topics/lexicon/ru/minishop2
, у которой был другой собственник (owner) зайдя предварительно под его правами.
После этого она уже закэшировалась под нужным пользователем…
Если кому то еще актуально.
В моем случае сыпались ошибки типа:
core/model/modx/modcachemanager.class.php : 349) Error caching lexicon topic lexicon/ru/minishop2/cart
core/model/modx/modcachemanager.class.php : 349) Error caching lexicon topic lexicon/ru/minishop2/setting
Оказалось, что у папки кэша
/core/cache/lexicon_topics/lexicon/ru/minishop2
и у внутренних файлов был указан другой «owner», отличный от основного.
Исправив этот косяк ошибки исчезли
Аналогичная проблема :(
После нажатия на принять заказ — заказ появляется в админке но на сайте ничего не меняется и msGetOrder не отображает результат заказа. Клиенту письмо на почту не приходит. В браузере видно что срабатывает action.php результатом которого показывает шаблон письма… Уже всю голову сломал, не могу понять что случилось :(
Вам удалось найти решение?
Компонент был уже куплен и проверен. Он не работает поскольку банально изменились названия полей запроса. Я проверял под API 3 ПриватБанка оно является актуальным на данный момент (https://www.liqpay.ua/documentation/api/aquiring/checkout/doc).
Кроме того у компонента не подвязаны коллбэки liqpay (https://www.liqpay.ua/documentation/api/callback)
Пожалуйста, доработайте его. Будет замечательный и полезный компонент.
Спасибо

П.С. Проверял на локальном сервере, поэтому прям сразу не получится показать. Но, в качестве наглядного примера могу залить на свой тестовый хостинг.
Приветствую!!!
Вопрос к разработчику:
Подскажите, насколько актуальной является версия расширения на сегодня? В планах было приобрести но смотрю что последнее обновление было еще в 2016 году.
Заранее спасибо за ответ
Артур, спасибо что откликнулись. Могли бы подсказать еще немного?
Я создал плагин с таким содержимиым:
<?php
switch ($modx->event->name) {
  case 'msOnChangeOrderStatus':
    if ($status==1) {
      
      $delivery_id = $order->get('delivery'); // получаю ID вида доставки
      
      if ($delivery_id == 1) { // если самовывоз, тогда:

            // тут получение чанка для генерации письма менеджеру и его отправка
        
      }
      
    }
    break;
}
Блок с генерацией письма менеджеру я попытался взять с файла minishop2.class.php:
$pls = $order->toArray();
            $pls['cost'] = $this->formatPrice($pls['cost']);
            $pls['cart_cost'] = $this->formatPrice($pls['cart_cost']);
            $pls['delivery_cost'] = $this->formatPrice($pls['delivery_cost']);
            $pls['weight'] = $this->formatWeight($pls['weight']);
            $pls['payment_link'] = '';

            if ($status->get('email_manager')) {
                $subject = $this->pdoTools->getChunk('@INLINE ' . $status->get('subject_manager'), $pls);
                $tpl = '';
                if ($chunk = $this->modx->getObject('modChunk', $status->get('body_manager'))) {
                    $tpl = $chunk->get('name');
                }
                $body = $this->modx->runSnippet('msGetOrder', array_merge($pls, array('tpl' => $tpl)));
                $emails = array_map('trim', explode(',',
                        $this->modx->getOption('ms2_email_manager', null, $this->modx->getOption('emailsender')))
                );
                if (!empty($subject)) {
                    foreach ($emails as $email) {
                        if (preg_match('#.*?@.*#', $email)) {
                            $this->sendEmail($email, $subject, $body);
                        }
                    }
                }
            }
Но, оно начало ругатся на использование пользовательских функций formatPrice() и get().
Могли бы подсказать как правильно переписать эти запросы, чтобы письмо менеджеру отправлялось по старндартному шаблону указаному в настройках минишопа.
Буду очень благодарен за помощь.
День добрый!
Подскажите для пользователей из Украины даннный компонент будет рабочим? Вроде на скринах настроек пути обращения указываются вручную, но все таки…
Заранее спасибо за ответ.
Добрый день.
Обнаружил сегодня такую проблему на сайте:
На странице оформления заказа неработает {$delivery.payments | json_encode}. Оплаты к тоставке подвязаны, если указать у msOrder пустой шаблон они видны, также если написать, например так {$delivery.payments[0]}, то есть вывести первый элемент списка тоже выводит, а вот так как указал вначале, категорически отказывается работать… выдает пустоту при этом и ошибок никаких нет.
Помогите пожалуйста разобраться хоть куда смотреть… Заранее спасибо
Может и ошибаюсь, но как по мне пример неправильный.
Судите сами:
1. клас обработчика Вы предлагаете создать в каталоге "/core/components/minishop2custom";
2. А вот регистрируете уже совсем по другому адресу "{core_path}components/minishop2/custom/msDeliveryHandlerMsk.class.php";

Или я не прав?