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

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

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

 

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

 

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

 

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

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

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

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

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

Пожалуйста.



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

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

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

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

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

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

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

В CartView.php можно видеть пример

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

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

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

 

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

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

Извиняюсь, но у меня есть еще один вопрос. Как можно проверить  заказал  ли пользователь товар с id 55?

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

Извиняюсь, но у меня есть еще один вопрос. Как можно проверить  заказал  ли пользователь товар с id 55?

Зайти в заказ, навести на ссылку товара и "О, чудо, вот он мой ID!".

http://prntscr.com/ix5236

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

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

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

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

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

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

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

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

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

if(isset($_SESSION['shopping_cart'][5]))
{
	$var = $_SESSION['shopping_cart'][5];
}
Ссылка на сообщение
Поделиться на другие сайты

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

 

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

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

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

 

 

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

 

 

В этой переменной будет содержаться количество товара с ID=5!
Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

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

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

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

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

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

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

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