Вчера в 18:09
Всем большое спасибо. Не знаю из-за чего изначально не заработало, может кэш не почистил, может еще что-то было, но в файле
/public_html/core/compone...
Tickets не работают комментарии 6
Вчера в 13:52
Поддерживает ли msImportExport Product Options / msProductOptions?
Cпрашиваю, так как не могу найти ни слова об этом.
msImportExport 915
27 февраля 2025, 22:34
Пытаюсь поставить самоподписанный ssl, так как для других нужен домен, у меня просто через ip. Ставлю но всё равно он не хочет открываться через защищ...
Пустая админка. 6
26 февраля 2025, 11:21
Можно попробовать плагином на событие OnBeforeManagerPageInit
if ('OnBeforeManagerPageInit' === $modx->event->name) {
if (is_array($a...
Изменение сортировки в таблице Пользователи в админке по умолчанию 2
25 февраля 2025, 21:05
ну да, пойду в комнату 1. Ну по вашей подсказке потом допёрло почему в условии id 1. в ресурсе 1 у меня и лежат эти тв-поля.
Не работает условие в чанке футера на остальных страницах 16
25 февраля 2025, 19:07
Конечно, там же путь к интерфейсу другой.
Как сделать количество товара в minishop2 дробным? 9
Вот что он мне оставил, может кому пригодится, актуально только для MiniShop2 2.2!
Описание проблемы:
1) Инициализация оплаты происходит по прямой ссылке paypal.php, вне зависимости от языковой версии.
2) При запросе paypal.php в контексте /en/* файл физически отсутствует на сервере и выдается ошибка 404. Так как информация запроса передается методом POST редирект в .htaccess файле не может помочь с этой проблемой. Возможно создание «симлинка» или копии файла paypal.php с физическим созданием папки /en/* на сервере, но при этом решении нужно изменять условия редиректов движка ModX с самыми интересными последствиями.
3) В условиях редиректов успешной и не успешной оплаты используется конструкция $modx->getOption('ms2_payment_paypal_success_id', null, 0) без указания контекста (языковой версии). При этом получение параметров cancel английской версии не работает.
4) paypal.class.php — файл отвечает за отправку и получение результатов с платежного шлюза. Файл при вызове не содержит информацию языковой версии, поэтому формирование платежной ссылки, а также распознавание результата (hash верификация) проходят только в рублях
Решение:
[index.php]
# Самое начало сайта
if(substr($_SERVER['REQUEST_URI'], 0, 50) == "/en/assets/components/minishop2/payment/paypal.php"){
$ch = curl_init();
$postvars = '';
foreach($_POST as $key=>$value) {
$postvars .= $key. "=". $value. "&";
}
$url = «site.ru».substr($_SERVER['REQUEST_URI'], 3)."&isEng=1";
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, $postvars);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT ,3);
curl_setopt($ch,CURLOPT_TIMEOUT, 20);
$response = curl_exec($ch);
curl_close ($ch);
echo $response;
die();
}
# Описание:
Если ссылка на paypal.php содержит /en/ мы переадресуем этот запрос на /web/ контекст передавая в $_GET запросе дополнительный параметр "&isEng=1". Информацию POST мы передаем в том же виде, как она поступила. Ждем результат выполнения запроса и выводим его на экран. Если приходит редирект — следуем редиректу.
Вот что он мне оставил, может кому пригодится, актуально только для MiniShop2 2.2!
Описание проблемы:
1) Инициализация оплаты происходит по прямой ссылке paypal.php, вне зависимости от языковой версии.
2) При запросе paypal.php в контексте /en/* файл физически отсутствует на сервере и выдается ошибка 404. Так как информация запроса передается методом POST редирект в .htaccess файле не может помочь с этой проблемой. Возможно создание «симлинка» или копии файла paypal.php с физическим созданием папки /en/* на сервере, но при этом решении нужно изменять условия редиректов движка ModX с самыми интересными последствиями.
3) В условиях редиректов успешной и не успешной оплаты используется конструкция $modx->getOption('ms2_payment_paypal_success_id', null, 0) без указания контекста (языковой версии). При этом получение параметров cancel английской версии не работает.
4) paypal.class.php — файл отвечает за отправку и получение результатов с платежного шлюза. Файл при вызове не содержит информацию языковой версии, поэтому формирование платежной ссылки, а также распознавание результата (hash верификация) проходят только в рублях
Решение:
[index.php]
# Самое начало сайта
if(substr($_SERVER['REQUEST_URI'], 0, 50) == "/en/assets/components/minishop2/payment/paypal.php"){
$ch = curl_init();
$postvars = '';
foreach($_POST as $key=>$value) {
$postvars .= $key. "=". $value. "&";
}
$url = «site.ru».substr($_SERVER['REQUEST_URI'], 3)."&isEng=1";
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch,CURLOPT_POST, 1);
curl_setopt($ch,CURLOPT_POSTFIELDS, $postvars);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT ,3);
curl_setopt($ch,CURLOPT_TIMEOUT, 20);
$response = curl_exec($ch);
curl_close ($ch);
echo $response;
die();
}
# Описание:
Если ссылка на paypal.php содержит /en/ мы переадресуем этот запрос на /web/ контекст передавая в $_GET запросе дополнительный параметр "&isEng=1". Информацию POST мы передаем в том же виде, как она поступила. Ждем результат выполнения запроса и выводим его на экран. Если приходит редирект — следуем редиректу.
2. Да, именно для этого.
3. Корпоративный.
Источник: modstore.pro/packages/payment-system/mspyacassa
Желаю хорошо Вам там провести время, надеюсь в следующий раз вы сможете перебраться ближе к центру. :)
Спасибо за документацию!
Что я делаю не так?