Настройка 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 - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегизаметки, modx, javascript, сайтостроение, интернет-магазин




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Как узнать пароль пользователя на сайте на примере япа
Введение в типы UML-диаграмм
Урок 7. Введение в методы JavaScript