Настройка miniShop2 MODX Revolution: минимальная сумма в заказе
Обычный заказ, но все же хочется написать заметку. Дело в том, что именно стандартность заказа позволяет на основе данного алгоритма работы делать и другое. Да и просто хочется что-то написать.
Итак, клиенту потребовалось, чтобы помимо сообщений о том, что требуется указать емайл и телефон при заказе, было невозможно отправить заявку, если сумма менее 5 тысяч рублей. Переходим в нужный чанк miniShop2 MODX Revolution и начинаем его редактировать и рассматривать.
Так, за отправку формы отвечает у нас кнопка под именем ms2_action. Искать, где там она обрабатывается я просто не стал – куча js скриптов, нет никакого желания в них рыться. Давайте просто перехватим отправку. Добавим вот такой атрибут:
onclick="return summ5()"Что это значит? Это значит, что теперь первый обработчик нажатия кнопки – это наша функция summ5(). Теперь напишем её:
function summ5() { var sumZ = $("#ms2_order_cost").text().replace(/\s/g, ''); if (sumZ<5000) { alert ("Минимальная сумма заказа 5000р"); return false; } else { return true; } }Здесь все очень просто. Мы берем текст из дива с ид «ms2_order_cost», убираем все пробелы и получаем итоговую сумму. Которую затем сравниваем с 5000, если меньше – выводим алерт и запрещаем отправлять форму.
Все отлично, работает. Однако, сообщения об ошибках у нас в miniShop2 MODX Revolution выводятся с помощью jGrowl, а не системным алертом. Вот так:
Синтаксис jGrowl прост:
$.jGrowl("сообщение", { параметр: значение, параметр: значение });Первый параметр – это время жизни (показа) сообщения, а второй – используемая тема (цвет). Применительно к нашему случаю получается вот так:
$.jGrowl("Минимальная сумма заказа 5000р", { life:2000, theme: 'af-message-error' });Смотрим:
Ура, все работает! Если вам требуется помочь с MODX Revolution, PHP или JavaScript, то за небольшую плату я вам с удовольствием окажу эту самую помощь по программированию. Пишите!
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.