Dithard Опубликовано 26 марта, 2018 Жалоба Поделиться Опубликовано 26 марта, 2018 Добрый день. У меня возникла одна проблема, помогите пожалуйста. Пользователь делает заказ на сайте, и если он заказал два товара, то третий ему забрасывается в корзину автоматически. Но если он какой-то из этих двух товаров удалит из корзины, то акционный удаляется тоже. Например: если пользователь заказал на сайте два телефона, то карта памяти (бесплатная и заранее создана как товар) автоматически забрасывается ему в корзину в качестве подарка. И заранее спасибо за помощь. Цитата Ссылка на сообщение Поделиться на другие сайты
Gruzin Опубликовано 26 марта, 2018 Жалоба Поделиться Опубликовано 26 марта, 2018 Так всё же логично, а иначе пользователь будет класть в корзину два товара , получать третий в подарок , а затем удаляя один из товаров будет получаться что он получил подарок за один купленный, а не за два. Адрес сайта напишите пожалуйста. Цитата Ссылка на сообщение Поделиться на другие сайты
Dithard Опубликовано 26 марта, 2018 Автор Жалоба Поделиться Опубликовано 26 марта, 2018 На сайте я ничего нормального реализовать не мог. Может подскажете хоть как при отправке заказа проверить количество товаров и как добавить к ним подарок. То есть чтобы пользователь не видел приза, а сам приз отправлялся в админку.Пожалуйста.Насколько я понимаю при отправке заказа исполняемый файл Cart.php, правильно? Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 26 марта, 2018 Жалоба Поделиться Опубликовано 26 марта, 2018 Нет, неправильноКоличество товаров подсчитывается в api/Cart.phpНо отправка заказа проходит в view/CartView.phpТам при добавлении товаров можно добавить ваш подарок, если вы хотите добавлять не в Корзину, а в Заказ Цитата Ссылка на сообщение Поделиться на другие сайты
Dithard Опубликовано 27 марта, 2018 Автор Жалоба Поделиться Опубликовано 27 марта, 2018 Понял, а как можно добавить товар непосредственно в заказ? Цитата Ссылка на сообщение Поделиться на другие сайты
phukortsin Опубликовано 27 марта, 2018 Жалоба Поделиться Опубликовано 27 марта, 2018 В CartView.php можно видеть пример $this->orders->add_purchase(array('order_id'=>$order_id, 'variant_id'=>intval($variant_id), 'amount'=>intval($amount))); Цитата Ссылка на сообщение Поделиться на другие сайты
Dithard Опубликовано 27 марта, 2018 Автор Жалоба Поделиться Опубликовано 27 марта, 2018 Насколько я понял вместо $ variant_id нужно написать id приза и вместо $ amount количество товара. А что тогда делает переменная $ order_id? $this->orders->add_purchase(array('order_id'=>$order_id, 'variant_id'=>intval(55), 'amount'=>intval(1))); Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 27 марта, 2018 Жалоба Поделиться Опубликовано 27 марта, 2018 Это АйДи заказа, в который вы будете добавлять подарок Цитата Ссылка на сообщение Поделиться на другие сайты
Dithard Опубликовано 27 марта, 2018 Автор Жалоба Поделиться Опубликовано 27 марта, 2018 Понял. Благодарю за помощь. Цитата Ссылка на сообщение Поделиться на другие сайты
Dithard Опубликовано 27 марта, 2018 Автор Жалоба Поделиться Опубликовано 27 марта, 2018 Извиняюсь, но у меня есть еще один вопрос. Как можно проверить заказал ли пользователь товар с id 55? Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 27 марта, 2018 Жалоба Поделиться Опубликовано 27 марта, 2018 Извиняюсь, но у меня есть еще один вопрос. Как можно проверить заказал ли пользователь товар с id 55?Зайти в заказ, навести на ссылку товара и "О, чудо, вот он мой ID!". http://prntscr.com/ix5236 Цитата Ссылка на сообщение Поделиться на другие сайты
Dithard Опубликовано 27 марта, 2018 Автор Жалоба Поделиться Опубликовано 27 марта, 2018 Вы неправильно меня поняли. Я имел в виду как проверить в CartView.php есть или в заказе товар с определенным id. И еще одно, как можно определить количество товаров в корзине с CartView.php? Заранее благодарен за помощь. Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 27 марта, 2018 Жалоба Поделиться Опубликовано 27 марта, 2018 $cart->total_products - количество товаровА по поводу id - можно проверить сессию shopping_cart Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 27 марта, 2018 Жалоба Поделиться Опубликовано 27 марта, 2018 print_r($_SESSION['shopping_cart']); Цитата Ссылка на сообщение Поделиться на другие сайты
Dithard Опубликовано 28 марта, 2018 Автор Жалоба Поделиться Опубликовано 28 марта, 2018 Спасибо за проверку количества товаров. А можно как-то в этом же файле пройтись по id всех товаров в корзине и проверить есть ли среди них id с номером 5? Если id есть то нужно количество товаров с этим id записать в переменную. Я пытался пройтись по id в сессии, оператором foreach но ничего из этого не вышло. Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 28 марта, 2018 Жалоба Поделиться Опубликовано 28 марта, 2018 Спасибо за проверку количества товаров.А можно как-то в этом же файле пройтись по id всех товаров в корзине и проверить есть ли среди них id с номером 5?Если id есть то нужно количество товаров с этим id записать в переменную. Я пытался пройтись по id в сессии, оператором foreach но ничего из этого не вышло. if(isset($_SESSION['shopping_cart'][5])) { $var = $_SESSION['shopping_cart'][5]; } Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 28 марта, 2018 Жалоба Поделиться Опубликовано 28 марта, 2018 Только в сессии хранятся id не ТОВАРОВ а ВАРИАНТОВ Цитата Ссылка на сообщение Поделиться на другие сайты
Dithard Опубликовано 28 марта, 2018 Автор Жалоба Поделиться Опубликовано 28 марта, 2018 Понял, большое спасибо. Простите но как количество товаров вытянуть? Я стараюсь так: 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))); } Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 28 марта, 2018 Жалоба Поделиться Опубликовано 28 марта, 2018 $var['amount'] - не существуетВ $var будет просто число. Количество в Корзине Цитата Ссылка на сообщение Поделиться на другие сайты
Dithard Опубликовано 28 марта, 2018 Автор Жалоба Поделиться Опубликовано 28 марта, 2018 А с сессии прочитать никак нельзя? Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 28 марта, 2018 Жалоба Поделиться Опубликовано 28 марта, 2018 А с сессии прочитать никак нельзя?Блин ну куда вы смотрите? Я же вам написал пример: if(isset($_SESSION['shopping_cart'][5])) { $var = $_SESSION['shopping_cart'][5]; } В этой переменной будет содержаться количество товара с ID=5! Цитата Ссылка на сообщение Поделиться на другие сайты
Kosjak76 Опубликовано 28 марта, 2018 Жалоба Поделиться Опубликовано 28 марта, 2018 Ты читаешь, что тебе пишут?Попробуй var_dump($var);Может тогда поймешь, о чем я... Цитата Ссылка на сообщение Поделиться на другие сайты
Noxter Опубликовано 28 марта, 2018 Жалоба Поделиться Опубликовано 28 марта, 2018 Геморойный персонаж... Цитата Ссылка на сообщение Поделиться на другие сайты
Dithard Опубликовано 28 марта, 2018 Автор Жалоба Поделиться Опубликовано 28 марта, 2018 Извиняюсь, я просто пытался количество в куки записать и так посмотреть, но оно почему-то не работало. Уже задал условие чтобы если количество == 2 то акционного товара отправило 500 единиц, все работает. Спасибо за помощь, незнаю что бы без вас делал. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.