Перейти к содержанию
Официальный форум поддержки Simpla

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

Здравствуйте.  Подскажите пожалуйста как сделать так, чтобы при выборе способа доставки "Самовывоз" делалась скидка на заказ в размере 10%.  Выбор способа доставки реализован на radio

 

<div id="deliveries">
					<div class="deline">
			<div class="chk">
				<input type="radio" name="delivery_id" value="1" checked="" id="deliveries_1">
				<label for="deliveries_1">
				Курьерская доставка по Москве			
				</label>			
			</div>
				
		</div>
				<div class="deline">
			<div class="chk">
				<input type="radio" name="delivery_id" value="2" id="deliveries_2">
				<label for="deliveries_2">
				Самовывоз			
				</label>			
			</div>
				
		</div>
			
	<div class="clear"></div>
</div>

Заранее благодарен за помощь.

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

можно если вы не пользуетесь скидками пользователей ($user->discount)

 

в view/CartView.php добавить ПОСЛЕ

 

// Скидка
$cart = $this->cart->get_cart();
$order->discount = $cart->discount;

 

строку

 

if($order->delivery_id==2)
    $order->discount = 10;
Ссылка на сообщение
Поделиться на другие сайты

Может работать неверно, если в админке на странице заказе изменить способ доставки.

 

да, нужно дописывать и в админке или менять вручную поле скидка

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

Если Вы хотите выводить в корзине свой % скидки, то это не совсем просто  В ПРИНЦИПЕ.  И, скорее всего, породит еще массу проблем. Потому что в корзине покупатель выбирает способ доставки, от которого этот % зависит. Значит, надо его менять как-то на ходу.  Если захотите  пользователю  вывести стоимость с учетом скидки, еще добавочно что-то делать - надо корзину перегружать при выборе способа доставки либо что-то через JS менять...

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

Может создать отдельную функцию php i обращаться к ней используя Ajax? Эта функция, если самовывоз, создает сессию, а в файле Order View.php проверяется эта сессия, если есть то учитывается скидка. Если же выбран самовывоз то выполняется другая функция, которая проверяет есть ли сессия, и если есть то удаляет ее.



И еще одно, подскажите пожалуйста как при отправке заказа в CartView.php проверить общую стоимость? Это нужно, чтобы скидка на самовывоз работала только от определенной суммы.

Изменено пользователем Dithard
Ссылка на сообщение
Поделиться на другие сайты

Может создать отдельную функцию php i обращаться к ней используя Ajax? Эта функция, если самовывоз, создает сессию, а в файле Order View.php проверяется эта сессия, если есть то учитывается скидка. Если же выбран самовывоз то выполняется другая функция, которая проверяет есть ли

сессия, и если есть то удаляет ее.

 

Конечно, можно. Пробуйте...

 

И еще одно, подскажите пожалуйста как при отправке заказа в CartView.php проверить общую стоимость? Это нужно, чтобы скидка на самовывоз работала только от определенной суммы.

 

Пример можно легко найти в том же файле:

 

            // Стоимость доставки

            $delivery = $this->delivery->get_delivery($order->delivery_id);

            if(!empty($delivery) && $delivery->free_from > $order->total_price)

            {

                $this->orders->update_order($order->id, array('delivery_price'=>$delivery->price, 'separate_delivery'=>$delivery->separate_payment));

            }

 

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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...