Всего 125 670 комментариев

Илья Александрович
15 февраля 2021, 09:22
0
хотя нет, если есть ещё одна вложенность категории, то всё сбивается
Илья Александрович
15 февраля 2021, 09:12
0
товар сортируется правильно, а как для каждой категории товаров вывести название Категории?
Alexey
14 февраля 2021, 22:31
1
+2
Привет! В файле core/components/minishop2/custom/payment/robokassa.class.php заменить метод getPaymentLink на следующий код:

public function getPaymentLink(msOrder $order)
    {
        $id = $order->get('id');
        $sum = number_format($order->get('cost'), 2, '.', '');
	//список товаров в заказе
	$order_goods = $this->modx->getCollection('msOrderProduct', ['order_id' => $id]);
	$tmp = [];
	foreach($order_goods as $key => $good) {
	    $tmp[$key]['name'] = $good->name;
	    $tmp[$key]['quantity'] = $good->count;
	    $tmp[$key]['sum'] = $good->cost;
	    $tmp[$key]['tax'] = 'none';
	}
		
        //номенклатура заказа
        $receipt = ['items' => array_values($tmp)];
	$receipt_json = json_encode($receipt, JSON_UNESCAPED_UNICODE);
	$SignatureValue = md5($this->config['login'] . ':' . $sum . ':' . $id. ':' . $receipt_json . ':' . $this->config['pass1']);
        $request = array(
            'url' => $this->config['checkoutUrl'],
            'MrchLogin' => $this->config['login'],
            'OutSum' => $sum,
            'InvId' => $id,
            'Desc' => 'Payment #' . $id,
            'IncCurrLabel' => $this->config['currency'],
            'Culture' => $this->config['culture'],
            'Receipt' => $receipt_json,
            'SignatureValue' => $SignatureValue,
        );
        
        if (!empty($this->config['test_mode'])) {
            $request['isTest'] = 1;
        }
        $link = $this->config['checkoutUrl'] . '?' . http_build_query($request);
        return $link;
    }

Компонент давно не обновляется, нужна была оперативность, поэтому правил исходники компонента. Нужно иметь в виду, что если выйдет апдейт, то эти правки будут затерты. Про расширение классов, думаю, можно немало информации найти, хотя бы здесь.

Делал под конкретный сайта, поэтому передавал только необходимые параметры. Советую почитать тут ( skrinshoter.ru/s/140221/5d2fQ6PK?a ), возможно, нужно передать другую систему налогообложения, налоговую ставку и т.д…
Евгений Мельников
14 февраля 2021, 20:41
0
Добрый день!
В связи с введением новых правил, в чеках теперь должны быть указаны товары. Кто-нибудь решил такую задачу? Можете подсказать решение?
dokreg
14 февраля 2021, 18:20
0
спасибо большое, так работает
Андрей
14 февраля 2021, 18:17
+1
Попробуй так:
'where' => ['resid:=' => $_modx->resource.id]
Иван Бочкарев
14 февраля 2021, 15:47
+1
Обновление дополнения доступно в репозитории
Sergey
14 февраля 2021, 15:02
0
Спасибо большое! Работает
Николай Савин
14 февраля 2021, 14:58
+1
Решение.
Открываем файл core/components/minishop2/model/minishop2/msproductdata.class.php
Находим строку 648
Меняем
$data = array_merge($data, $response['data']);
на
$data = array_merge($data, $response['data']['data']);
Обновление исправляющее ошибку официально выйдет в ближайшие дни
Иван Бочкарев
14 февраля 2021, 14:39
0
Это не решение. Фикс будет возможно сегодня.
Николай Савин
14 февраля 2021, 11:54
+2
Обратиться в modstore — это конечно хорошо. Но компонент был приобретен в 2018 году и прекрасно работал до вчерашнего дня. А значит нам нужно будет платить только за то, что что-то пошло не так после обновления.
Странное у вас понимание проблемы. Авторизация не на ровном месте же сломалась. Она полностью изменилась со стороны AMO. У вас в любом случае она больше бы не работала.

Несколько десятков проектов обновились — и ничего работают. Проблем нет.

Платить вас никто не заставляет конечно — ровно как и меня вам помогать.
Единственное что я могу вам посоветовать вслепую не щупая проблему — Попробуйте саму интеграцию удалить, создайте заново, прямо с нуля с новым client ID -
Futuris
14 февраля 2021, 11:29
0
То что написано ошибка авторизации — это у меня хватило ума прочитать. Вопрос только что с этим делать? Я уже не один раз создавал новые ключи авторизации и обновлял данные в настройках. Но это не помогает, также как и полная очистка папки кеша на сервере.
Как уже писал заказы из корзины перестают работать уже после установки компонента, даже без всяких настроек, и их внесение не меняет ситуацию.

Обратиться в modstore — это конечно хорошо. Но компонент был приобретен в 2018 году и прекрасно работал до вчерашнего дня. А значит нам нужно будет платить только за то, что что-то пошло не так после обновления.

Николай Савин
13 февраля 2021, 22:12
0
Ну очевидно же — что то идет не так с авторизацией.
Попробуйте очистить кэш, а конкретно удалить в кэше каталог amocrm, затем заново создайте в личном кабинете ключ авторизации (он всего 20 минут действует), обновите эти данные в системных настройках сайта и сделайте заказ.
Если не поможет — пишите в техподдержку на modstore — разберемся.
yuri
13 февраля 2021, 20:56
0
тоже надо было.
вот ответ — [[#[[*parent]].alias]]
Futuris
13 февраля 2021, 18:35
0
Здравствуйте! У нас стояла старая версия amoCRM, которая была настроена еще старым методом через API в кабинете AMO и веб-хуки. Все это работало и заказы поступали в AMO. А вот после обновления компонента и установки связи новым методом (т.е. по новой инструкции с ID интеграции, секретным ключом и кодом авторизации) — перестали отправляться заказы из корзины сайта. Т.е. при нажатии кнопки «Отправить заказ» страница виснет.
Причем, заказы перестают отправляться уже после установки компонента даже без настроек, а после внесения настроек эта ситуация не меняется.

В логах выдает ошибку запроса, код — 401, см. скриншот.

olik
13 февраля 2021, 17:16
0
Вернутся к пакету minishop2-2.6.0 ошибка пропадает.
Фарит
Фарит
13 февраля 2021, 16:22
0
Site sucker
Mandarins
13 февраля 2021, 15:34
0
core/components/pdotools/model/pdotools/pdotools.class.php 446
Ошибка пипец как смущает, после обновления, 6 мегабайт уже.
Ошибка пишет тут
// Processing given placeholders
            if (!empty($properties)) {
                $pl = $this->makePlaceholders($properties);
               $content = str_replace($pl['pl'], $pl['vl'], $content);
            }
Что делать и как устранить её?
Klike
13 февраля 2021, 15:29
0
Может я что-то делаю не так, но на стандартных чанках tpl.msCart и tpl.msOrder перестало считать общую сумму корзины и заказа, стоимость при этом меняется.



Артур Шевченко
13 февраля 2021, 12:29
0
Если сайт на modx, то вытаскивать верстку, чтобы превратить её в статику, кажется ещё более некошерным. Создайте новый контекст и заливайте туда новую информацию.