Финансовая поддержка
VPS, бесплатные дополнения и docs
Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию.
Поддержать
mxBoard: канбан-доска для команд, людей и ИИ-агентов в MODX 3
[Решено] Обновление MODX 3.2.2 компонент FetchIt ломает сайт PHP 8.3
Плагин EnvBadge: визуальный индикатор окружения в админке MODX3
[videoGallery] Видео галерея YouTube, Vimeo
Релиз miniShop2 ver. 4.4.1 & 4.4.2
MaxNotify
MyFavorites
mxLocDoc - документация внутри админки
Редизайн сообщества
Msdiscount не устанавливается
Всего 126 106 комментариев
Осадочек обоснованный — решение рабочее, но есть несколько моментов, которые стоит обдумать:
Что смущает в текущем фиксе
1. Изменение логики метода.
Оригинальный код при отсутствии сессии возвращал []. Теперь он создаёт сессию. Это может сломать логику в других местах SendIt, которые рассчитывают на пустой ответ как сигнал «сессии нет, нужно что-то сделать».
2. setcookie() без проверки заголовков
Если заголовки уже отправлены — будет ещё один warning.
Минимальный и безопасный фикс
Если цель — просто убрать warning без изменения логики:
Это сохраняет оригинальное поведение: нет куки → нет сессии → пустой массив. Создание сессии должно происходить там, где это предусмотрено архитектурой компонента.
Что бы я сделал
Посмотрел бы, где в SendIt сессия создаётся штатно. Скорее всего есть отдельный метод типа createSession() или это происходит при первой отправке формы. Вот там и должна быть логика создания + установки куки.
Твой фикс работает, но ты фактически добавил fallback-создание сессии в метод, который был рассчитан только на чтение. Если форма авторизации/регистрации работает корректно — можно оставить, но я бы откатился к минимальному варианту и понаблюдал.
Если посетитель находится на главной — они от нее и выводятся.
Блоки в лендинге. должны выводиться аналогично меню.
А в чанке section_tpl уже указывайте [[+id]], [[+alias]], [[+pagetitle]] и т. д. — они будут забираться от выводимых ресурсов
Передача ссылки на оплату заказа или редирект на платежную систему
как это сделать — поясните кто нибудь!
твой способ не работает
Сейчас выдаётся ошибка доступа и вместо страницы оплаты идёт переадресация на страницу ошибки оплаты.
Будет ли обновление компонента?
Версия минишоп была 2.5 и обновления дальше 2.5 не видит. И установлена она была с modx.com, а не modstore. Сменил на modstore — предлагает обновления.
Обновлю, посмотрю модуль будет работать или нет
Потом была проблема, что sendit меня опозновал как бота при тестах и просил перегрузить страницу. Видите ли слишком прямо я курсор вожу по экрану)
Недавно я опять нашел 500 ошибку, когда выбираешь населенный пункт, в котором нет пвз и выбираешь пвз доставку, то в консоли появляется 500 ошибка при аякс запросе.
И соответственно, если человек ушел со страницы оф. заказа в тот момент, когда у него появилась такая ошибка, то при след заходе в оф заказа падает сразу в 500. Очистка кеша/истории браузера помогает (не просто ctrl+f5).
Я пока склонялся к идее, что это чисто мои проблемы (в оф заказа много разных модулей добавлено...) и сейчас буду тестить максимально чистый вариант, без всего лишнего. Но первым делом проверю смену версии php, вдруг правда поможет.
И в демке на сайте такой проблемы нет, там при отсутствии пвз пишется текст, что его нет, всплывают сообщения сендит и в консоли 500 не наблюдается.
Здесь можно потестить отправку — толковый сервис
А вообще правила общие просты:
1. Отправляем через smtp
2. Убеждаемся, что домен, с которого отправляем, не в списках «спам» (см. сервисы разные в интернете)
3. Настраиваем DKIM и SPF записи для домена
если так:
то не срабатывает ползунок — слайдер
А как вы поняли, что на 7.4 не работает? может я что-то не протестировал
Из минусов — можно потерять возможность обновлять некоторые старые компоненты (правда они особо и не обновляются)
Ну и затратно может быть.