Всего 125 966 комментариев

Артур Шевченко
18 февраля 2022, 10:45
+1
Есть мнение и я с ним согласен, что jQuery морально устарела и большинство тех возможностей, из-за которых все ей пользовались, реализованы в нативном js. А весит jQuery очень много и когда у тебя лэндос, где только отправка формы и нужна невольно закрадывается мысль, что jQuery это лишнее ?
Николай Савин
18 февраля 2022, 10:41
0
PR в таком виде у тебя не примут. Нет смысла слать.
Артур Шевченко
18 февраля 2022, 10:40
0
Спасибо, я забыл, что так можно было. Перепишу. Заодно и замечания Николая Савина учту.
Артур Шевченко
18 февраля 2022, 10:38
+1
А почему у тебя в объекте методы внутри метода? Это же нелогично. Вынеси их в корень объекта. Для чего нужна вложенность?
Да ни для чего))) Это пробный шар, мне для тренировки, сообществу для пользы.
И я правильно понимаю, что в твоем варианте оригинальный ajaxForm все равно нужно подключать, а потом этой штукой перезаписывать метод initialize?
Да. В идеале сделать pr и из коробки загружать этот код, но для этого нужно его до ума до вести.
Баха Волков
18 февраля 2022, 09:59
+3
Что-то вчера захотелось переписать самому, но потом перехотел, а так хотя бы толкну тебя в нужном направлении

class AjaxForm {
    constructor (config) {
        this.forms = document.querySelectorAll(config['formSelector'])
    }

    resetErrors (e) {
        // some code
    }

    success () {}

    sendAjax () {}
}

new AjaxForm(afConfig)
Кирилл Киселев
18 февраля 2022, 09:38
0
Ого. Давно хотел перебить на ванилу все связанные плагины с ms2, но руки не доходили, видимо не я один такой, кто хочет все на ванилу переписать, спасибо тебе!
Николай Савин
18 февраля 2022, 08:39
0
Я еще не встречал хостинга, на котором не было бы панели управления кроном или просто доступа к crontab.
Какие 4 часа? О чем вы?
Если задача отправить письмо о новом заказе то:
Проверить таблицу очередей. Если есть необработанная запись ОДНА — взять номер заказа, сформировать письмо о заказе — отправить его.

Если задача отправить письмо о регистрации клиента то:
Получить из таблицы очередей ID клиента — составить письмецо, отправить его.

Тут секунды 2 работы в худшем случае.
Vladimir
18 февраля 2022, 08:34
0
Другого не знал, да и не думал что на обычном хостинге есть доступ к крону, так как он делается через консоль, и получается даже если скрипт будет работать там часа 4, то так же будет выполнятся, или есть лимиты по которым задача убьётся?
Николай Савин
18 февраля 2022, 08:27
0
Зачем так сложно? Задания очередей можно писать в таблицу базы данных. Я обычно использую simpleQueue. Есть также встроенный механизм очередей в MODX.
Для выполнения заданий запускаете ежеминутно крон, который будет по одной записи за раз дергать и выполнять.
Vladimir
18 февраля 2022, 08:23
0
Это отлично, а можете пожалуйста кинуть как-нибудь статью или ресурс где почитать про очередь, чтобы делать вещь на backgrounde, есть такие вещи подобные но как я понял это уже будет не оптимизированно под быструю работу, типо fpm + apache в настройках сервера, отключаем поддержку fastcgi. И только тогда получается fastcgi_finish_request(); и тогда оно в фоне само крутится, типо допустим если файл до гига, это пример с загрузкой на яндекс диск, то можно без него подняв лимиты хостинга но там максимум 300, то set_time_limit(); и ini_set('max_execution_time', 50000); поможет но тоже проблемы, пытался по-другому как-то не получается да и не понятно
Николай Савин
18 февраля 2022, 08:05
0
Кстати в будущих версиях компонента механизм очередей будет уже в ядре.
Николай Савин
18 февраля 2022, 08:03
0
Вообще-то да. Ровно та же проблема при отправке заказа в CRM какой-нибудь.
Решение тоже общее. Нужно использовать очереди. И вместо отправки заказа просто записывать задачу в очередь. Тогда нагрузки не будет никакой. Ну а очереди читать и выполнять, как фоновый процесс.
Vladimir
18 февраля 2022, 08:01
0
Да я видел, про это тоже выше писал, ведь с таким способом будет дольше создаваться заказ, нет?
Vladimir
18 февраля 2022, 08:01
0
в контекстах добавил адрес сайта в site_url и всё стало норм
Николай Савин
18 февраля 2022, 07:58
0
Вам нужно, чтобы отправлялось письмо о факте регистрации?
Я писал заметку на эту тему уже
modx.pro/development/16620
Vladimir
18 февраля 2022, 07:56
0
мне нужно чтобы письмо приходило что поскольку он заказал ему отправлялось письмо, я про это писал, я специально ответил на момент тот
Илья Уткин
18 февраля 2022, 07:50
0
Ну, значит надо обновляться вручную, обычным способом
Николай Савин
18 февраля 2022, 07:49
0
На сегодняшний день фоновая регистрация пользователя вшита в процесс оформления заказа. Для того чтобы логика была другой нужно «колотить костыли».
Vladimir
18 февраля 2022, 06:58
0
Кто-нибудь нашёл ответ? или это было сделано? это ведь логично, и не должен подниматься такой вопрос, и не колотить костыли на смену статуса заказа
Николай Савин
18 февраля 2022, 06:17
+1
А почему у тебя в объекте методы внутри метода? Это же нелогично. Вынеси их в корень объекта. Для чего нужна вложенность?
И я правильно понимаю, что в твоем варианте оригинальный ajaxForm все равно нужно подключать, а потом этой штукой перезаписывать метод initialize?