4 часа назад
опытным путем выяснил что ошибку валидации радио кнопок можно вылечить добавив в форму еще один вариант
<input type="radio" name="...
Валидация radio кнопок в Sendit 1
11 марта 2026, 09:11
Привет!
Все верно:
1-го нет в магазине modstore и modx.com
2-й платный
mxEditorJs - блочный редактор Editor.js для MODX 3 2
10 марта 2026, 22:13
Все верно, сорян, в своем сообщении написал не то что хотел =)
msGiftCards - дополнение для MODX 2 + miniShop2 для продажи, применения и учета подарочных сертифика... 5
10 марта 2026, 20:35
Нет конечно, иначе это были бы уже отдельные товары.
ms3Variants - Реализация вариантов одного товара в MiniShop3 6
06 марта 2026, 09:38
Александр, данный компонент более недоступен для приобретения?
miniShop 2.9.1-pl 57
06 марта 2026, 09:11
Спасибо за информацию — проверим. Какой редактор используете?
MiniShop3: итоги февраля и версия 1.6.0 6
04 марта 2026, 21:09
Немного нетипичный пост на этом форуме. Будем считать это экспериментом. Кратко вводную информацию я выложил у нас в телеграм-сообществе — получил мно...
Baymard Institute: 61 рекомендация для e-commerce, о которых стоит знать 1
04 марта 2026, 20:13
Атомарненько)))
ms3FirstTimeBuyerDiscount - автоматическая скидка на первый заказ 7
03 марта 2026, 09:49
А теперь все эту красоту оформляем в виде сниппета. Параметры по-умолчанию редактируем в самом сниппете
elements/snippets/bgImage.php
<?php
/**
...
Унифицированное отображение разноформатных изображений без обрезки (решено) 1
Всего 125 676 комментариев
Вангую немного на будущее:
— вдруг проект вырастет?
— вдруг выяснится, что народ закрывает страницу не дожидаясь отправки и не получает билеты, а потом жалуется?
— вдруг сбой отправки и вы об этом не узнаете, а повторной отправки не предусмотрено?
— вдруг надо будет ещё что-то делать вместе с отправкой билета?
Это я к тому, что лучше этот процесс перенести полностью на бэк, где вы его будете контролировать.
Чтобы БД не запрашивать (хотя для небольших проектов это не имеет особого значения, да и вообще — кому нужна БД — узкое место же :-) ) — можно в файлы json писать: есть файл -> читаем, получаем указанный заказ, отправляем, удаляем. Если отправка каких-то писем не удалась — пишем в лог и данный файл не удаляем. Однако, имхо, это немного извращение.
1. «Чтобы избежать повторных отправок, записываем id заказа в куки… » — лучше таки флаг отправки сохранить в БД, например в properties msOrder. Ибо на страницу domain.ru?msorder=1 можно перейти не раз + она запросто может попасть в индекс яндекса (проверено) и будет весело. Запретите индексацию таких страниц в robots.
2. Откликаться будет ТОЛЬКО на ajax запросы: if ($_SERVER['REQUEST_METHOD'] != 'POST')…
Этот код будет работать при любом запросе к данной странице постом.
Меняйте на что-то вроде:
3. Отправку писем нужно повесить на событие оформления заказа или иное подходящее.
И я бы такой функционал в принципе не вязал бы с MS2, он тут по факту не нужен )
За публикацию личного опыта — спасибо.
Я поменял количество запрашиваемых данных
в файле /core/components/msync/model/msync/msynccataloghandler.class.php
в функции prepareProducts()
в вызове $productsData = $this->getProductTempData(500, $lastProduct);
Поэкспериментируйте со значением.
Я тут во время теста обнаружил один момент, при оплате не подтягивает стоимость доставки
Есть вопрос — поизучал компонент, наткнулся на пару моментов, про которые хотелось бы спросить
1)Светится абсолютный путь на сервере, по мне это не очень «секьюрно» раскрывать файловую структуру выше корня сайта.
2)Иногда последняя вкладка формирования файла — выгрузка и параметры, падает с ошибками
То есть файл она формирует, но отредактировать его уже не получается, там просто пусто и ошибка в консоли на скрипт.
Буду благодарен если автор прокомментирует эти моменты.
Еще не подскажете пожалуйста как получить и отправить доп. значения из заказа минишоп. Поля созданы как тут https://modx.pro/solutions/10040
Как получить значение (https://prnt.sc/11vqy4a) size из заказа в формате:Размер: AirPods 1/2
Пробовал {$product['size']}, {$product->size}, $product->Product->get('size')} ничего не работает (
Большое спасибо!
Проблема была тут:
&docid=`[[+id]]`
А у меня в чанке было:
&docid=`[[*id]]`
Сортировка кстати, вот так правильно.
И &includeTVs=`photos` по-моему не нужно, так как вы его подтягиваете в getImageList запросе.
пока не кэшируйте: