Jump to content

Recommended Posts

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

 

Пользователь делает заказ на сайте, и если он заказал два товара, то третий ему забрасывается в корзину автоматически. Но если он какой-то из этих двух товаров удалит из корзины, то акционный удаляется тоже.

 

Например: если пользователь заказал на сайте два телефона, то карта памяти (бесплатная и заранее создана как товар) автоматически забрасывается ему в корзину в качестве подарка.

 

И заранее спасибо за помощь.

Link to post
Share on other sites

Так всё же логично, а иначе пользователь будет класть в корзину два товара , получать третий в подарок , а затем удаляя один из товаров будет получаться что он получил подарок за один купленный, а не за два. Адрес сайта напишите пожалуйста.

Link to post
Share on other sites

На сайте я ничего нормального реализовать не мог.  Может подскажете хоть как при отправке заказа проверить количество товаров и как добавить к ним подарок. То есть чтобы пользователь не видел приза, а сам приз отправлялся в админку.

Пожалуйста.



Насколько я понимаю при отправке заказа исполняемый файл Cart.php, правильно?

Link to post
Share on other sites

Нет, неправильно

Количество товаров подсчитывается в api/Cart.php

Но отправка заказа проходит в view/CartView.php

Там при добавлении товаров можно добавить ваш подарок, если вы хотите добавлять не в Корзину, а в Заказ

Link to post
Share on other sites

Насколько я понял вместо $ variant_id нужно написать id приза и вместо $ amount количество товара. А что тогда делает переменная $ order_id?

 

$this->orders->add_purchase(array('order_id'=>$order_id, 'variant_id'=>intval(55), 'amount'=>intval(1)));

Link to post
Share on other sites

Вы неправильно меня поняли. Я имел в виду как проверить в CartView.php есть или в заказе товар с определенным id. И еще одно, как можно определить количество товаров в корзине с CartView.php? Заранее благодарен за помощь.

Link to post
Share on other sites
Спасибо за проверку количества товаров.

А можно как-то в этом же файле пройтись по id всех товаров в корзине и проверить есть ли среди них id с номером 5?

Если id есть то нужно количество товаров с этим id записать в переменную. Я пытался пройтись по id в сессии, оператором foreach но ничего из этого не вышло.

Link to post
Share on other sites

Спасибо за проверку количества товаров.

А можно как-то в этом же файле пройтись по id всех товаров в корзине и проверить есть ли среди них id с номером 5?

Если id есть то нужно количество товаров с этим id записать в переменную. Я пытался пройтись по id в сессии, оператором foreach но ничего из этого не вышло.

if(isset($_SESSION['shopping_cart'][5]))
{
	$var = $_SESSION['shopping_cart'][5];
}
Link to post
Share on other sites

Понял, большое спасибо. Простите но как количество товаров вытянуть? Я стараюсь так:

 

if(isset($_SESSION['shopping_cart'][5]))
            {
            	$var = $_SESSION['shopping_cart'][5];
            	
            	
            	setcookie('shopping_cart', $var['amount']);
            	
            	$this->orders->add_purchase(array('order_id'=>$order_id, 'variant_id'=>intval(54), 'amount'=>intval(1)));
            }else{
                $this->orders->add_purchase(array('order_id'=>$order_id, 'variant_id'=>intval(55), 'amount'=>intval(4)));
            }
Link to post
Share on other sites

А с сессии прочитать никак нельзя?

Блин ну куда вы смотрите? Я же вам написал пример:

 

 

if(isset($_SESSION['shopping_cart'][5]))
{
	$var = $_SESSION['shopping_cart'][5];
}

 

 

В этой переменной будет содержаться количество товара с ID=5!
Link to post
Share on other sites

Извиняюсь, я просто пытался количество в куки записать и так посмотреть, но оно почему-то не работало. Уже задал условие чтобы если количество == 2 то акционного товара отправило 500 единиц, все работает. Спасибо за помощь, незнаю что бы без вас делал.

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...