Евгений Дурягин
С нами с 15 декабря 2012; Место в рейтинге пользователей: #3329 часов назад
Странно то, что точно также указаны пути в других компонентах, например migx или clientconfig. Но у них на странице CMP они подключаются норм, а у мен...
Почему в кастомном процессоре пути прописываются относительно корня сайта? 2
Вчера в 19:20
спасибо за ответ, сначала поверить не смог что modx 3 это сделано.
Facade Laravel в Modx 2/3 9
Вчера в 12:09
После такого пинка по тушке modx у меня появилось желание наконец-то поставить 3 и что-то уже на нём сделать :-)
mmxFenom - нативная интеграция шаблонизатора 10
Вчера в 11:38
MODX Revolution 2.8.3-pl
Ace 1.9.4-pl
При выборе ACE ошибка:
Uncaught TypeError: Cannot read properties of null (reading 'match')
at a.$detect...
ExtraFields. Дополнительные поля для ресурса (modResource) и пользователя (modUserProfile). 32
06 мая 2024, 17:01
Вы не указали где именно вывести.
Есть у нас как минимум 3 места: Страница товара, страница со списком товаров, корзина.
На странице товара пример е...
Множественный список цветов 10
06 мая 2024, 00:40
Если посетитель выбирает опции в фильтре и переходит в товар — все отрабатывает отлично. Но если затем он переходит между товарами через те же «похожи...
Как вывести похожие товары по списку опций? 13
05 мая 2024, 17:14
Сразу же вводит в заблуждение выбор курьером/в пункт как в форме минишопа, так и на карте параллельно.
так не юзерфрендли ни разу
[msCdekWidget] Альтернативный калькулятор доставки СДЭК 20
05 мая 2024, 14:11
Установил, наконец-то)) Все работает спасибо.
Новый тип дополнений: mmxDatabase и mmxForms 38
05 мая 2024, 09:18
Примерно тоже самое, только при помощи mmxDatabase:
$id = $modx->getOption('id', $scriptProperties);
$category = $modx->getOption('category'...
Получение всех TV полей ресурса из конкретной категории и вывод в чанк 2
Ну если кто и будет это делать, то просто создать еще один сниппет, который понимает парметры 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 Ну а теперь это при каждой очистке кэша