Перейти к содержанию
Форум поддержки пользователей VamShop

Неактивный способ доставки\оплаты


Рекомендуемые сообщения

Можно ли сделать некоторые способы доставки\оплаты "неактивными", до тех пор пока сумма заказа не достигнет определенной величины?

На данный момент использую подсказку из FAQ, но этот способ (скрыть доставку) не совсем подходит, так как хочу заинтересовать пользователя что либо докупить, чтобы получить возможность иметь выбрать более быструю доставку.

Например: по умолчанию доставка товара суммой менее 1000 рублей осуществляется почтой, как только ты заказываешь на сумму 1000 рублей и более - появляется возможность оформить Курьерскую доставку.

И этот неактивный модуль должен реально показываться, т.к. не каждый покупатель изучает страницу Доставка, а так сразу бы понял при оформлении.

Ссылка на сообщение
Поделиться на другие сайты
if ($_SESSION['cart']->show_total() < '1000') {
$this->quotes['error'] = 'Закажи товаров ещё на ' . 1000-$_SESSION['cart']->show_total() . ' и сможешь получить свой заказ быстро и на дом!';
return $this->quotes;
}[/code]

Ссылка на сообщение
Поделиться на другие сайты

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 рублей "деактивировать" те или иные модули доставки? Подскажите, пожалуйста, кто знает?

Ссылка на сообщение
Поделиться на другие сайты

Спасибо за код, но почему-то не получается его заставить работать.

Потому что наверняка не туда этот код вставляли. Вставлять нужно в метод quote().

Ссылка на сообщение
Поделиться на другие сайты

Потому что наверняка не туда этот код вставляли. Вставлять нужно в метод 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]

Вставлял чуть ли не в каждую строчку :) надеясь на метод "тыка", не хочет работать. Уверен просто не туда втыкаю. Подскажите, пожалуйста.

Ссылка на сообщение
Поделиться на другие сайты
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]

Ссылка на сообщение
Поделиться на другие сайты

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 уходила (редактировал через веб-интерфейс на хостинге) :(

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...