Хорошо, время истекло, и я не получил ответа, поэтому я откатил свой.Это было на самом деле довольно безболезненно.Я не могу выпустить код, но могу дать вам хорошее представление о шагах и направлении, в котором следует идти.
- , расширение vm_ps_coupon и переопределение методов обновления, добавления и обработки.Для добавления и обновления требуется только изменение массива, отправляемого в БД.См. здесь для получения дополнительной информации о расширении классов
- Измените перечисление в базе данных, чтобы учесть количество, а также общее количество и проценты.
- В вашем новом методе обновления обработайтеизменение количества, чтобы сделать, как вам нужно.
- В методе обновления вы также можете установить флаг для бесплатной доставки в переменной сеанса.
- В шаблонах / оформить заказ отредактируйте list_shipping_methods.php.Просто проверьте наличие флага бесплатной доставки и загрузите класс free_shipping.Затем вы можете вызвать free_shipping-> list_rates ($ vars);
- extension vm_ps_checkout, переопределить метод add, вызвать родительский метод add и затем проверить результат, чтобы вы могли удалить переменную сеанса для бесплатной доставки.
Наконец, вам нужно будет внести некоторые изменения в HTML.К сожалению, я не смог найти способ легко переопределить это, и так как это всего два небольших изменения в разметке, я просто пошел дальше и взломал ядро.Если кто-нибудь знает другой способ, который был бы великолепен?В Интернете я видел кое-что об использовании хука Joomla и системного плагина, но я бы предпочел, чтобы он зависел только от Virtuemart.
В administrator / components / com_virtuemart / html / edit coupon.coupon_form.php, чтобы показатьПереключатель нового количества.
Затем отредактируйте coupon.coupon_list.php, чтобы отобразить правильные значения.В настоящее время он будет отображать только проценты и общее количество.
Надеюсь, это поможет кому-то в будущем.Если вам нужна помощь, тогда пишите здесь, и я буду рад помочь.