Права публикации в ветках тикетов
Василий, как будет минута — расскажи, как мне отследить по твоим функциям в default.js общую сумму заказа и если она меньше n, вывести предупреждение? И на сколько это правильно? Скрипт придется перезаписывать и заменять на свой, а значит не увижу обновлений. Подскажи наиболее правильное решение, чтобы не оставаться без апдейтов.
Заранее благодарен.
Заранее благодарен.
Комментарии: 11
Подскажи наиболее правильное решение, чтобы не оставаться без апдейтов.Скопируй скрипт default.js в свою папку. Перейди в Система -> Настройки системы -> Отфильтруй настройки по minishop2 -> Найди системный ключ ms2_frontend_js и замени в нем путь до скопированного default.js. Например:
/assets/templates/mytemplate/js/ms2/default.js
и изменяй этот скрипт не боясь обновлений.если она меньше n, вывести предупреждениеЕсли это предупреждение не мешает оформлению заказа, то хватит и js, но если из за этого предупреждения нельзя будет оформить заказ, то нужны правки и в php.
Скопируй скрипт default.js в свою папку. Перейди в Система -> Настройки системы -> Отфильтруй настройки по minishop2 -> Найди системный ключ ms2_frontend_js и замени в нем путь до скопированного default.js. Например:Угу, спасибо. И если в новой версии default.js поменяется и добавятся какие-либо полезности, то я этих обновлений не увижу.
/assets/templates/mytemplate/js/ms2/default.js и изменяй этот скрипт не боясь обновлений.
Если это предупреждение не мешает оформлению заказа, то хватит и js, но если из за этого предупреждения нельзя будет оформить заказ, то нужны правки и в php.Это предупреждение мешает. :) Оно не дает сформировать заказ, если сумма меньше n.
Угу, спасибо. И если в новой версии default.js поменяется и добавятся какие-либо полезности, то я этих обновлений не увижу.Так тебе по любому придется подгонять свой скрипт под обновления, или отказаться от данной задумки.
Это нужно делать в собственном классе оформления заказа, а не в javascript.
Иначе любой желающий обойдёт твоё предупреждение. Я бы добавил проверку в метод submit().
Иначе любой желающий обойдёт твоё предупреждение. Я бы добавил проверку в метод submit().
Спасибо! :) Как я понимаю, кастмизировать нужно это — core/components/minishop2/model/minishop2/msorderhandler.class.php? Проверку лучше добавить на числовое значение возвращаемое total_cost?
Нужно создать свой класс, который унаследует дефолтный, указать его в настройках, а там уже делай что хочешь и спокойно обновляйся.
Логика примерно та же, что и при расширении класса фильтрации mSearch2.
Логика примерно та же, что и при расширении класса фильтрации mSearch2.
Василий, м.б. я тебе на хороший коньяк спортивный рацион переведу денег за подробный пример? :)
yadi.sk/d/hZoOCTKHJTETz
Всё тоже самое, только для ms2_order_handler_class и поправками на пути для файлов.
В своём классе пишешь
Всё тоже самое, только для ms2_order_handler_class и поправками на пути для файлов.
В своём классе пишешь
<?php
class MyOrderHandler extends msOrderHandler {
public function submit($data = array()) {
return $this->error('Ошибка!!!');
}
}
Если файл положен в правильное место и твой класс MyOrderHandler указан в настройках, то ты на каждый заказ будешь получать ошибку.
Благодарю. В переменной $data возвращаются все результаты заказа? Чтобы мне сравнить с ценой, нужно вытащить её из массива?
Рацион во сколько оцениваешь? Готов проспонсировать здоровый образ жизни в двойном размере за готовое решение. :)
Какое готовое решение? Это система расширения miniShop2 специально для программирования уникальной логики проекта.
То есть, это система не готовых, а индивидуальных решений.
Если вот прям сильно надо и самостоятельно не получается, напиши сейчас на bezumkin@yandex.ru доступы и что именно нужно — помогу, пока время есть.
То есть, это система не готовых, а индивидуальных решений.
Если вот прям сильно надо и самостоятельно не получается, напиши сейчас на bezumkin@yandex.ru доступы и что именно нужно — помогу, пока время есть.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.