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

Ну. Я исхожу из того, что как-то в самом начале. Поставил 3 и решил прикрутить расширения. После этого пришлось выковыривать некоторые прямо вручную. И PDOtools тогда не пошел. Позже вроде исправили, поставил. Пришлось переписывать шаблоны. Есть ещё некоторые не адаптированные. Сейчас мне нужны отзывы на сайте. Ни один нормальный модуль не работает на 3. Решил поковырять что есть из наработок. Вот и пришёл сюда посмотреть. Я так понимаю нужно протестить MIGX c 3. Потому как до этого он вроде не работал.
Кирилл
25 марта 2023, 13:29
0
Так уже вроде давно, я на нем слайдеры делаю на modx3
Да и вообще кучу всего, он вроде в версии альфа5, но рабочий вполне
Ок. Надо протестить. А то я помню потом заколебался его выковыривать. Куча ошибок была.
Не понял. А что MIGX работает в Modx3? Насколько я помню по sitedash.app/extras. Он не совместим.
Марат
25 марта 2023, 00:43
0
Куда поставили? У меня нет таких настроек.
Марат
25 марта 2023, 00:43
0
У кого нибудь получилось победить данную ошибку?
Источники файла менял.
Журнал ошибок — пуст.
Иван
24 марта 2023, 09:45
0
Отключите modSecurity в своем домене.

Алексей Смирнов
24 марта 2023, 08:15
+1
Посмотрите предыдущие темы по обновлению до 4.х версии:

modx.pro/components/23283

modx.pro/components/23536

Если не найдете посмотрите все последние ветки Николая через его профиль — Заметки.
Константин Ильин
24 марта 2023, 06:49
0
Дайте пожалуйста наводку. Ситуация такая
— minishop2 4.0.0 (обновлялись с 2.5)
— возможно это критично, /components/minishop2/js/web/default_custom.js и наверняка от 2.5 версии.
— есть кастомная платежка, лежит в папке components/minishop2/custom/payment/rbs.class.php

В ней реализован метод send, в конце такие строчки:
if (!class_exists('msPaymentInterface')) {
    require_once dirname(dirname(dirname(__FILE__))) . '/handlers/mspaymenthandler.class.php'; ///model/minishop2/mspaymenthandler.class.php
}



 public function send(msOrder $order)
    {
......
    $response = curl_exec($curl);
    $response = json_decode($response, true);
    
    curl_close($curl);
    file_put_contents(MODX_ASSETS_PATH.'rbs.txt', '-------', FILE_APPEND);
    
    if ($this->config['logging']) {
        $this->modx->log(modX::LOG_LEVEL_ERROR, '[ms2:rbs] Метод ' . $method . '  gateway request: ' . print_r($data, 1) . ' gateway response:' . print_r($response, 1));
    }
    return $response;
}
При оформления заказа file_put_contents и this->modx->log (при включенном логировании) — не отрабатывают, т.е. данный метод send вообще не запускается.

Так же если сделать alert в callbacks.submit.response.success
disk.yandex.ru/i/as4oZIV5VbkrsQ
Видно, что нет redirect, отсюда и не перенаправляет на платежку.

Если же сделать так:
$o = $modx->getObject('msOrder', 1300);
if ($payment = $modx->getObject('msPayment', array('id' => $o->get('payment'), 'active' => 1))) {
    $response = $payment->send($o);
    if (is_array($response)) {
        $response = json_encode($response, true);
    }
    exit($response);
}
То все отрабатывает и дает ссылку.

Подскажите почему может не запускаться класс оплаты при оформлении с фронта?
Баха Волков
23 марта 2023, 19:33
0
Обыкновенная переменная со ссылкой на объект document:

var D = document;
let D = document;
const D = document;

Не знаю зачем ему она, видимо для того чтобы писать короче
Александр Мельник
23 марта 2023, 18:22
0
а что за объект D к которому вы обращаетесь?
Это что какой-то поддерживаемый синоним объекта document?
Константин Ильин
23 марта 2023, 15:30
+1
буду следить (особенно жду эту фичу с дозагрузкой), понравился компонент, и сам начал пользоваться fetch в скриптах

Js ванилу не так давно начал, поэтому такие огрехи встречаются :)
let a = D.querySelector('.modalTmp form').getAttribute('data-fetchit')
Сергей Фещуков
23 марта 2023, 11:45
0
На текущий момент не работает по складам компонент, то есть реализовать нельзя такое на текущий момент. В будущем планируется такой функционал, но когда не могу сказать.
Максим
23 марта 2023, 11:43
0
Подскажите, пожалуйста, возможно ли с помощью Вашего модуля записывать остатки у товара по складам?
Баха Волков
23 марта 2023, 11:18
+1
Пожалуйста

1. Помни, это может поменяться, обращай внимания на обновления FetchIt
2. Пиши так:

let a = D.querySelector('.modalTmp form').getAttribute('data-fetchit')
// или
let a = D.querySelector('.modalTmp form').dataset.fetchit
Константин Ильин
23 марта 2023, 08:02
0
Спасибо, «кастомно» получилось

if (FetchIt === undefined){
    D.querySelector('head').append('<script src="/assets/components/fetchit/js/fetchit.js" defer=""></script>');
}
if(!empty(FetchIt)){
    let a = D.querySelector(".modalTmp").querySelector('form').getAttribute('data-fetchit')
    FetchIt.create({
        action: a,
        assetsUrl: "/assets/components/fetchit/",
        actionUrl: "/assets/components/fetchit/action.php",
        inputInvalidClass: "is-invalid",
        customInvalidClass: "",
        clearFieldsOnSuccess: true,
        pageId: hashp,
    });
}
mekirile
22 марта 2023, 22:34
0
Готов поделить расходы на доработку компонента, т.к. сам нуждаюсь в его обновлении.