Jump to content

Recommended Posts

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

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

Link to post
Share on other sites

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

 

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

 

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

 

строку

 

if($order->delivery_id==2)
    $order->discount = 10;
Link to post
Share on other sites

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

 

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

Link to post
Share on other sites

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

Link to post
Share on other sites

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



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

Edited by Dithard
Link to post
Share on other sites

Может создать отдельную функцию 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));

            }

 

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...