Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 147 комментариев

Наумов Алексей
Наумов Алексей
Спасибо!

В целом я уже решил вопрос. Я отнаследовался от msOrderHandler, скопировал в мой класс метод submit, убрал в нем из обязательных полей email, и перенес модернизированную функцию getCustomerId в него же.

НУ а магазины бывают разные, товары специфические. У меня например 1 пользователь с вероятностью 99,99% совершит только 1 покупку.
Василий Наумкин
Василий Наумкин
Василий Наумкин
Василий Наумкин
И сразу второй вариант: генерируй случайный email и вставляй в заказ плагином при его создании. Каждый раз будет новый юзер.

Ну и учти, что сегодня-завтра выйдет личный кабинет для покупателей MS2 — там тоже все через email. Можно будет установить на любой существующий магазин, и любой покупатель сможет войти и посмотреть свои старые заказы.

Юзеры со случайными email такой возможности иметь не будут.
Peter Zenin
Peter Zenin
Обычно делают без крона так — при открытии сайта (или чего-то что часто запускают) выполняется скрипт — смотрит в БД или в временном файле метку времени, сравнивает с текущей — если разница больше N часов, то выполняет нужный скрипт и перезаписывает метку времени на текущую.

Если времени прошло меньше — то не выполняет.
Aliaksandr Katlou
Aliaksandr Katlou
Я первым делом сам собрался написать плагин, который вешается на открытие страницы в web и смотрит, сколько времени прошло, что впринципе тоже самое но без картинок, но решил что может что-то более изящное есть.
Евгений Дурягин
Евгений Дурягин
Насколько понял тут предлагается размещать на сайте картинку, которая указывает на специальный PHP скрипт.
А он уже сверяется со временем запуска скриптов и запускает их
Если это так, то не рекомендую так делать.
1. У посетителей будет лишняя картинка, которая может грузится очень долго, если операция долгая
2. Непрогнозируемое время запуска. Бэкапы должны запускаться ночью, а вдруг ночью никто на сайт не зашел?
Евгений Дурягин
Евгений Дурягин
У setcronjob тоже есть бесплатный тариф.
Да и совсем не то. Мониторинг сервера и сервис крона все-таки разные вещи. Можно конечно приспособить мониторинг под крон (если вообще в мониторинге есть возможность указать произвольный URL, а не просто сайт) и и то получиться скорей всего только на платном тарифе, т.к. на бесплатном отправляется HEAD, но специальный сервис для крона гибче, даже на бесплатном тарифе.
Евгений Дурягин
Евгений Дурягин
Можно воспользоваться любым внешним cron, который запускает процессы по URL.
Например
www.setcronjob.com/
Тарифа 10$ в год хватит чтобы запускать процесс хоть каждые 15 минут.
Есть и бесплатный тариф, его хватит чтобы запускать 1 процесс раз в сутки.
Но ограничено время в 15 секунд (скрипт все равно отработает, но будет считаться ошибочным и результата не видно) и тариф нужно раз в месяц подтверждать.