Евгений Дурягин
С нами с 15 декабря 2012; Место в рейтинге пользователей: #6438 часов назад
самый просто вариант это хукЯ тоже так думаю
Этот хук обрабатывает форму "Купить в 1 клик", создает заказ в miniShop2 1
04 сентября 2025, 12:45
Нет, данную проблему не решил, потому как она мне и не мешала… Так как с сам minishop3 использовал на паре проектов где доставка и не требовалась. Буд...
[MiniShop3] - Новости, Планы 34
04 сентября 2025, 12:35
казалось бы чего, открой другой браузер, где не выполнен вход и заноси заказаМожно установить adminTools и запретить автоматическое залогинивание в ко...
Оформление заказа minishop2 1
04 сентября 2025, 12:27
modx.pro/help/12408#comment-81924
minishop2 отправить фотографию товара заказчику 11
03 сентября 2025, 19:36
Если ты просто скачал компонент из репозитория и не запускал composer install — запусти.
MiniShop3 - 1.0.0-alpha 20
31 августа 2025, 21:09
Экранировать, то есть так: $c->sortby($this->modx->escape('rank'), 'ASC');
Во всех файлах?
/core/components/pageblocks/processors/mgr/co...
PageBlocks. Удобное управление контентом сайта. 46
29 августа 2025, 18:05
Василий, здравствуйте! Очень интересное (и правильное) направление для развития modx экосистемы как мне кажется. В последнее время для разработки боль...
Новый тип дополнений: mmxDatabase и mmxForms 41
29 августа 2025, 17:29
Пересобрал шаблон для новостей которые через Collections.
В какой TV была ошибка так и не нашел (((
Мodx revo 3.1.2 при запросе страницы, связанной с Collections сервер возвращает ошибку 500 3
28 августа 2025, 21:34
Добро. Сейчас, сейчас… прольётся чья-то кровь )))
Доработки сайта сообщества modx.pro 11
Ну если кто и будет это делать, то просто создать еще один сниппет, который понимает парметры FormItAutoResponder и добавляет еще одно письмо в очередь.
Я для своего хука так и делал. Через FormIt можно указать несколько получателей в параметре &emailTo, я на каждого создавал отдельное письмо в очереди.
Просто убрал все лишнее что сейчас не нужно было мне и адаптировал под компонент.
И он на первое время сойдет, но для полноценной замены желательно чтобы поддерживал все параметры FormIt, такие как скрытые копии, html или текст сообщение, вложения и прочее.
docs.modx.com/extras/revo/formit/formit.hooks/formit.hooks.email
Можно не все их в таблицу добавлять, оставить только важные, которые отображать в компоненте, а остальные в поле properties в json-виде, так расширять можно будет без правки схемы. Главное чтобы скрипт отправки поддерживал.
И у FormIt есть еще хук FormItAutoResponder docs.modx.com/extras/revo/formit/formit.hooks/formit.hooks.formitautoresponder
Это бывает полезно для обратной связи когда email уходит менеджеру, а пользователю дополнительно отправляется другой email со своим шаблоном «Спасибо за ваш отзыв. Менеджер уже занимается вашим вопросом»
Допустим лимит стоит 50 писем за раз, а запуск скрипта каждую минуту.
В большинстве случаев все работает и 50 писем успевают отправится за 1 минуту.
Но в какой-то час SMTP или сеть начнет тормозить и отправка станет занимать 3-5 сек.
За минуту успеют отправится только 20 писем, затем запуститься второй скрипт и начнет отправлять оставшиеся 30 письма, т.к. они еще не помечены как отправленные. В итоге пользователю будут приходить дубли.
Вот сейчас отправлять нужно от домена заказчика, а чтобы соблюсти все DKIM, SPF и прочее без правки DNS вариант только через доступ по SMTP.
А коннект к SMTP визуально секунды 3 и это тормозит на фронте.
Плюс опять же возможны какие-то лимиты по кол-ву в час, одновременных соединений и тп.
И у пользователя возникает ошибка и форма не отправляется.
Просто в вызове поменять хук на email_queue (или свое название сниппета)
Поддержку вложений не делал, т.к. не было необходимости.
И не все параметры FormIt поддерживает (например emailHtml, emailToName, emailCC, итд), т.к. компонент их не учитывает.
Где-то у них очень давно на старом сайте или форуме была расшифровка
Но не на всех хостингах эта переменная передается.
Можно принудительно включить в файле config.inc.php
github.com/modxcms/revolution/blob/2.x/core/docs/config.inc.tpl#L52
Прописать на этой строке $isSecureRequest = true;
Аналог Digital Ocean от Selectel. Даже конфигурации серверов один в один ))
Но по функционалу пока отстают: бэкапов нет, снапшотов нет итд
Причину отмены можно указывать в комментарии заказа, который вставить в шаблон письма.
Если клиенту не нравится что заказ отменен, то создайте свои статусы на разные случаи с уникальными шаблонами: уточнение данных, ожидание поступления итд.
Например, в комментарии заказа указать что товар будет на складе через 3 дня и поменять статус на «ожидание поступления». Для каждого статуса можно указать чанк письма, где и вывести комментарий.
Вроде оно modx.com/extras/package/updater
Конфигурация по умолчанию: 1 ядро, 512 Mb RAM, 5 Gb SSD, 792 руб./мес.
При авторизации пользователя отправлять ему смс с кодом, который он должен ввести на сайте.
Для пользователя неудобство будет только если вдруг авторизация слетела или он решил авторизоваться в другом браузере/устройстве/компе.
Если он будет передавать логин и пароль другим, то еще дополнительно нужно будет сообщать коды из смс при каждой авторизации. Думаю это быстро ему надоест.
Можно отправлять и по e-mail, т.к. отправка смс платная, но пользователь может создать спец. ящик и сообщать доступ к нему вместе с логином и паролем от сайта, или использовать временный ящик типа tempinbox.com
Единственные варианты сейчас это
1. Закомментить эту строчку в процессоре
2. Перевести документы (хотя бы большую часть, например товары) на использование Freeze URI. Эти документы refreshUri не обновляет
3. Оптимизирвать RefreshUri и отправить Pull Request :)
Вот обсуждение зачем они его добавили github.com/modxcms/revolution/issues/9129
Но самое интересное то, что Jason Coward писал, что такие вещи нужно запускать из командной строки на больших сайтах forums.modx.com/thread/85073/how-can-i-recalculate-uri-in-a-large-site-content-with-more-than-1-000-000-entries-without-server-timeout-for-the-script#dis-post-469206 Ну а теперь это при каждой очистке кэша