pr0fessor 0 Опубликовано 11 мая, 2011 Жалоба Share Опубликовано 11 мая, 2011 Можно ли сделать некоторые способы доставки\оплаты "неактивными", до тех пор пока сумма заказа не достигнет определенной величины? На данный момент использую подсказку из FAQ, но этот способ (скрыть доставку) не совсем подходит, так как хочу заинтересовать пользователя что либо докупить, чтобы получить возможность иметь выбрать более быструю доставку. Например: по умолчанию доставка товара суммой менее 1000 рублей осуществляется почтой, как только ты заказываешь на сумму 1000 рублей и более - появляется возможность оформить Курьерскую доставку. И этот неактивный модуль должен реально показываться, т.к. не каждый покупатель изучает страницу Доставка, а так сразу бы понял при оформлении. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 11 мая, 2011 Жалоба Share Опубликовано 11 мая, 2011 Кроме как совета из faq лично я не знаю других способов. Ссылка на сообщение Поделиться на другие сайты
ABerezin 0 Опубликовано 11 мая, 2011 Жалоба Share Опубликовано 11 мая, 2011 if ($_SESSION['cart']->show_total() < '1000') { $this->quotes['error'] = 'Закажи товаров ещё на ' . 1000-$_SESSION['cart']->show_total() . ' и сможешь получить свой заказ быстро и на дом!'; return $this->quotes; }[/code] Ссылка на сообщение Поделиться на другие сайты
pr0fessor 0 Опубликовано 11 мая, 2011 Автор Жалоба Share Опубликовано 11 мая, 2011 if ($_SESSION['cart']->show_total() < '1000') { $this->quotes['error'] = 'Закажи товаров ещё на ' . 1000-$_SESSION['cart']->show_total() . ' и сможешь получить свой заказ быстро и на дом!'; return $this->quotes; }[/code] Спасибо за код, но почему-то не получается его заставить работать. Тут меня идея посетила, а нельзя ли как то на примере этого вопроса задать условие... что-то вроде если сумма заказа меньше 1000 рублей, то модуль flat (Курьерская доставка) сделать "DISABLED". Как сделать кнопку неактивной то я представляю (сам html) а как вот задать условие )) блин, проблема. Пытался "скрестить" подсказку из FAQ про условие "сумма заказа" и "включить радиокнопку по умолчанию", но че-то видимо не хватает :( знаний... Как дать понять странице checkout_shipping.php что при сумме заказа ниже 1000 рублей "деактивировать" те или иные модули доставки? Подскажите, пожалуйста, кто знает? Ссылка на сообщение Поделиться на другие сайты
ABerezin 0 Опубликовано 11 мая, 2011 Жалоба Share Опубликовано 11 мая, 2011 Спасибо за код, но почему-то не получается его заставить работать. Потому что наверняка не туда этот код вставляли. Вставлять нужно в метод quote(). Ссылка на сообщение Поделиться на другие сайты
pr0fessor 0 Опубликовано 12 мая, 2011 Автор Жалоба Share Опубликовано 12 мая, 2011 Потому что наверняка не туда этот код вставляли. Вставлять нужно в метод quote(). Да, вставлял я по аналогии с приведенными примерами из FAQ. Я правельно понял что вставить нужно где-то здесь: function quote($method = '') { global $order; $this->quotes = array('id' => $this->code, 'module' => MODULE_SHIPPING_MOSCOW_TEXT_TITLE, 'methods' => array(array('id' => $this->code, 'title' => MODULE_SHIPPING_MOSCOW_TEXT_WAY, 'cost' => MODULE_SHIPPING_MOSCOW_COST))); if ($this->tax_class > 0) { $this->quotes['tax'] = vam_get_tax_rate($this->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']); } if (vam_not_null($this->icon)) $this->quotes['icon'] = vam_image($this->icon, $this->title); return $this->quotes; }[/code] Вставлял чуть ли не в каждую строчку :) надеясь на метод "тыка", не хочет работать. Уверен просто не туда втыкаю. Подскажите, пожалуйста. Ссылка на сообщение Поделиться на другие сайты
ABerezin 0 Опубликовано 12 мая, 2011 Жалоба Share Опубликовано 12 мая, 2011 function quote($method = '') { global $order; $this->quotes = array('id' => $this->code, 'module' => MODULE_SHIPPING_MOSCOW_TEXT_TITLE, 'methods' => array(array('id' => $this->code, 'title' => MODULE_SHIPPING_MOSCOW_TEXT_WAY, 'cost' => MODULE_SHIPPING_MOSCOW_COST))); if ($this->tax_class > 0) { $this->quotes['tax'] = vam_get_tax_rate($this->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']); } if (vam_not_null($this->icon)) $this->quotes['icon'] = vam_image($this->icon, $this->title); if ($order->info['subtotal'] < 1000) { $this->quotes['error'] = 'Закажи товаров ещё на сумму ' . 1000-$order->info['subtotal'] . ' и сможешь получить свой заказ быстро и на дом!'; } return $this->quotes; }[/code] Ссылка на сообщение Поделиться на другие сайты
pr0fessor 0 Опубликовано 12 мая, 2011 Автор Жалоба Share Опубликовано 12 мая, 2011 function quote($method = '') { global $order; $this->quotes = array('id' => $this->code, 'module' => MODULE_SHIPPING_MOSCOW_TEXT_TITLE, 'methods' => array(array('id' => $this->code, 'title' => MODULE_SHIPPING_MOSCOW_TEXT_WAY, 'cost' => MODULE_SHIPPING_MOSCOW_COST))); if ($this->tax_class > 0) { $this->quotes['tax'] = vam_get_tax_rate($this->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']); } if (vam_not_null($this->icon)) $this->quotes['icon'] = vam_image($this->icon, $this->title); if ($order->info['subtotal'] < 1000) { $this->quotes['error'] = 'Закажи товаров ещё на сумму ' . 1000-$order->info['subtotal'] . ' и сможешь получить свой заказ быстро и на дом!'; } return $this->quotes; }[/code] Огромное спасибо! Работает! p.s. я так пробовал вставлять, но только после обеда дошло что нужно переводить кодировку в UTF, она зараза при сохранении в ANSI уходила (редактировал через веб-интерфейс на хостинге) :( Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения