Игорь

Игорь

С нами с 12 сентября 2018; Место в рейтинге пользователей: #392
Игорь
14 июля 2024, 14:08
0
Да, всё работает, именно то что нужно, супер. Спасибо.
Игорь
12 декабря 2023, 19:16
0
Спасибо большое. Вы, как всегда, очень помогли (это если «мягко выражаясь», а реально решили мою проблему).
Игорь
12 декабря 2023, 15:06
0
php файл, в котором формируется заказ для выгрузки по api /core/components/frontpadapi/processors/mgr/api/neworder.class.php (я всё туда пихаю)
Игорь
12 декабря 2023, 14:29
0
нет, так не срабатывает… виснет оформление заказа ((
if ($o = $modx->getObject('mspcOrder', ['order_id' => $order['id']])) {
    $discount = $o->get('discount_amount');
	$value .= ' Скидка по промокоду '.$discount.'%';
}
Игорь
29 ноября 2023, 20:20
0
Спасибо, про отключение уведомлений понял.
Всё-таки, лучше дождусь доступа на хостинг, скопирую сайт и буду уже у себя смотреть и экспериментировать (пока что на 80% уверен что дело именно в настройках PHP на хостинге).
Вы правильно заметили, уровень MODX 3 у меня пока не особо — но я привык всё делать качественно, буду продолжать разбираться. )
Игорь
29 ноября 2023, 19:58
0
делаю свои первые сайты на MODX 3, хочу что бы всё было правильно и в логах не было кучи сообщений (предупреждений/ошибок). Если дело в сервере, то нужно понять чего именно там не хватает в настройках… если дело в «моих кривых руках», то тогда я не знаю (с MODX 2 уже давно работаю)… ))
Игорь
28 ноября 2023, 22:45
0
Я посмотрел в настройках MODX — есть некоторые различия (первый вариант где всё работает на Beget — второй где сообшения вылазят):
Версия PHP: 8.1.25 — 8.1.19
Версия базы данных: 5.7.21-20-beget-5.7.21-20-1-log — 8.0.26
Кодировка базы данных: utf8 — utf8mb4
PDO drivers: odbc, sqlite, mysql, firebird, pgsql — sqlite, mysql

в остальном, вроде, всё похоже
Игорь
28 ноября 2023, 22:27
0
Продолжаю думать, что всё дело в настройках PHP и расширений на хостинге. Хостинг webhost1.ru
Никто не сталкивался с таким?
Игорь
28 ноября 2023, 18:09
0
Я не думал, что AjaxForm не адаптирован под MODX3 (зачем же он тогда в репозитарии установщика отображается?).
Мне сейчас кажется, что дело, всё-таки, в настройках хостинга: каких-то директив не хватает…
Сегодня для примера на другом хостинге (на своем Beget) создал новый сайт MODX 3, установил Formit, AjaxForm и все другие компоненты с сайта-примера, скопировал чанки с формами, шаблон — пока всё работает «как часы» (сообщений в консоле нет).
К сожалению, не получается пока просто скопировать сайт — Vapor выдаёт ошибку, UpgradeModx не хочет устанавливаться, прямого доступа к хостингу, на данный момент, нет.
Можно просто попытаться переустановить MODX, но, опять же, без резервной копии страшно (вдруг всё тупо сломается, раз сейчас всё так странно там), неделя работы какой-никакой… ((
Игорь
28 ноября 2023, 14:37
0
потому что jQuery все равно уже установлен на сайте (и используется для разных целей, не только для AjaxForms) + не хотелось заморачиваться с новинками…
Я, на самом деле, смотрел оба этих компонента: SendIt у меня почему-то не заработал (может плохо разбирался), FetchIt заработал — но нужно было заморачиваться с настройками стилей, уведомлений, антиспама и т.п. (я для Formit + AjaxForm уже все заготовки были с прежних времен).
Игорь
28 ноября 2023, 11:47
0
Formit + AjaxForm.
Хорошо что не ошибка, а предупреждение — но, всё равно, не приятно (
Игорь
02 ноября 2023, 00:18
0
Обернул колбэк в функцию — так вроде он работает с моим аяксом…
$(document).ready(function() {  
    miniShop2.Callbacks.Order.submit.response.success = function (response) { 
if (response.data['redirect']) {
                    document.location.href = response.data['redirect'];
                } else if (response.data['msorder']) {
                    if(document.location.pathname.indexOf('checkout') == -1){
                        document.location.href = document.location.origin + '/getorder.html'
                            + (document.location.search ? document.location.search + '&' : '?')
                            + 'msorder=' + response.data['msorder'];
                    }
                    else{
                        document.location.href = document.location.origin + document.location.pathname
                            + (document.location.search ? document.location.search + '&' : '?')
                            + 'msorder=' + response.data['msorder'];
                    }
                } else {
                    location.reload();
}
	}; 

    });
Жалко только, что так и не получилось сделать как планировалось (всплывающее окно «заказ получен» через ajax без перезагрузки страницы) — Сейчас просто редиректится на новую страницу, а там уже модалка вызывается со сниппетом GetOrder ((
Игорь
01 ноября 2023, 12:36
0
Пытаюсь вызвать callback на отправку из ajax формы (хочу в дальнейшем вызывать модальное окно «Заказ получен»:
miniShop2.Callbacks.Order.submit.response.success = function (response) { alert('eeeeeeee'); };
Что-то не срабатывает ничего (или может, просто не успевает сработать). Хотя другой callback нормально работает:
miniShop2.Callbacks.Order.submit.response.error = function(response) { }
Как быть?
Игорь
30 октября 2023, 09:40
0
Здравствуйте.
Не совсем — оформление заказа у меня в отдельном модальном окне (в принципе с ним уже разобрался кое-как костылями-колбэками). Остается теперь ещё одно окно «Заказ получен» как-то прикрутить.
Игорь
28 октября 2023, 16:43
0
Самое страшное, что я пока не сильно понимаю, как сделать всплывающее окно станицы «Заказ получен» со всеми данными из GetOrder ((
Игорь
28 октября 2023, 16:33
0
А кто же его знает? Хозяин — барин, спорить что-то доказывать бесполезно… ((
Игорь
28 октября 2023, 15:59
0
Не знаю, насколько это правильно, но со стоимостью доставки вроде получилось решить таким костылем:
<script src="/assets/components/minishop2/js/web/default.js"></script>
<script>
    miniShop2.Callbacks.Order.getcost.response.success = function(response) {
 $('.mydeliverycost').text(miniShop2.Utils.formatPrice(response.data['delivery_cost']));
 $('.myorderprice').text(miniShop2.Utils.formatPrice(response.data['cost']));                 
	}
</script>
(естественно, что полям, где должна меняться стоимость нужно добавить соответствующие классы '.mydeliverycost' и '.myorderprice')… С причиной, почему не работало по умолчанию в аяксе (хотя, например, корзина в аяксе нормально работает) так и не удалось разобраться — будем надеяться, что более умные люди, нам объяснят… а лучше переделают, что бы сразу всё работало красиво ;))… сейчас, почему-то все хотят эти всплывающие окна
Игорь
28 октября 2023, 13:18
0
Подключил скрипт минишопа default.js и тестовое сообщение в модальном окне — видно что так стоимость доставки пересчитывается (без default.js не пересчитывается), но во фронтенде так ничего и не меняется — что я мог упустить? (
<script src="/assets/components/minishop2/js/web/default.js"></script>
<script>
    miniShop2.Callbacks.Order.getcost.response.success = function(response) {
var rdc = response.data['delivery_cost'];
alert(rdc);	
	}
</script>
Игорь
27 октября 2023, 15:14
0
ну так и у меня практически также: в модальном окне корзины есть кнопка вызова модального окна заказа…
У тебя меняется стоимость доставки и общая сумма заказа в модальном окне? У меня нет
Игорь
27 октября 2023, 14:15
0
Корзину-то в модалку я уже вывел (это по верстке отдельное окно) — там все работает хорошо (суммы меняются и т.п.)… А вот страница оформления заказа что-то не хочет подружиться с аяксом — стоимость доставки не подхватывается (на обычной странице все хорошо работает)