Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Помогите пожалуйста с корзиной!!!


Recommended Posts

Люди добрые помогите пожалуйста неразумному победить корзину на моем сайте!

Суть вопроса: у меня на сайте все товары в единичном числе

1. Как так сделать что бы один человек не мог больше одного раза добавить в корзину один и тот же товар?

2. Как сделать что бы товары которые были у человека в корзине, а их купили с сайта - то они бы с корзины удалялось автоматически.

3. И как убрать с корзины - и + в поле товара, что бы человек больше одного не мог наклацать. 131795467_(39).jpg.21768886e2d7f3cb2e85f5ea6aea9f87.jpg

Просто теряю конверсии из-за данного неудобства! Потом смотришь визор и ехреневаешь.

Сзаранее спасибо! Сайт - https://wostok.by
Кто может помочь хоть по одному из вопросов напишите пожалуйста.

Link to comment
Share on other sites


1. В /system/library/cart/cart.php нужно внести ряд правок, которые при add и update будут проверять не существует ли жобавляемый товар в корзине. Если не существует - добавлять, если существует - continue без внесения изменения количества.
2. Добавлением в addOrderHistory запроса в БД к oc_cart что-то типа "DELETE FROM oc_cart where product_id = ИД_Оформляемого_товара"
3. Этого мало. Попробуйте кликнуть "купить" несколько раз как в карточке товара, так и на главной, в категории, поиске и на всех остальных страницах, где выводятся товары. Но при внесении изменений из пунктов 1 и 2 всё будет работать.

Важно понимать, что это "необратимое" действие и подобный принцип будет работать ДЛЯ ВСЕХ товаров и всегда. Правильным решением было б добавление в редактирование товара в админке галочки "единичный товар", после проставления которой именно к таком товару применять установленные выше правила, а во всех остальных случаях работать по основному принципу.

ВОзможно есть ещё подводные камни. Нужно тестировать. Это поверхностно.
 

Link to comment
Share on other sites

17.07.2022 в 12:25, Asp1r1n сказал:

2. Как сделать что бы товары которые были у человека в корзине, а их купили с сайта - то они бы с корзины удалялось автоматически.

Это как, т.е. вы имеет ввиду аля - разервирование

Т.е. у вас есть товар , но он один. Кто первый, того и тапки.
В принципе, это реально, но неужели у вас толпа за эти товаром?

Link to comment
Share on other sites

17.07.2022 в 15:07, chukcha сказал:

вы имеет ввиду аля - разервирование

Тут вопрос даже не в аля, а в полноценном резервировании.
Так как даже если сделать так, как я описал выше  (не обнуляя количество на складе при добавлении в корзину), то каждый следующий покупатель добавляя товар в корзину будет обнулять её у другого покупателя.
Потому да, нужно полноценное резервирование.
И отсюда вопрос к ТСу - а оно того стоит? Вот узнает "конкурент" про эту Вашу "фичу" и будет сидеть и кликать по товарам, добавляя их в корзину себе, чтобы у других не было возможности купить товар :) 

Ну и да, не совсем понятно каким образом Вы теряете конверсию. "Вам шашечки, или ехать?"(С) Ограничив добавление товара в корзину вы ТОЧНО потеряете клиента, который не будет понимать что именно происходит с его корзиной :) Он добавляет товар, шарится по сайту в поиске второго товара, а у него первый товар пропадает из корзины по непонятным ему причинам.

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

 

Скрытый текст

image.thumb.png.46e46c16edeecf158aa62b9d93cefacf.png



Ну и на сколько я вижу Вы в симпле вообще вырезали функционал "Подсветки" недостающих товаров (***). Потому в большой корзине это не наглядно:
 

Скрытый текст

image.thumb.png.dfcc5403423dcd92d63e54b9e43f4d13.png

Не понятно какого именно товара нет в нужном количестве.

Link to comment
Share on other sites

при попытке добавить более одного товара можно выдать сообщение, вы можете купить только один товара этого наименования

Если это тройка, то все товары добавленные в корзину (даже чужую) доступны для анализа
можно также посмотреть есть ли она у других.
И можно выдать сообщение
Звыняйте, товар отложен



 

 

Link to comment
Share on other sites

17.07.2022 в 16:08, nogocuHoBuk сказал:

Тут вопрос даже не в аля, а в полноценном резервировании.
Так как даже если сделать так, как я описал выше  (не обнуляя количество на складе при добавлении в корзину), то каждый следующий покупатель добавляя товар в корзину будет обнулять её у другого покупателя.
Потому да, нужно полноценное резервирование.
И отсюда вопрос к ТСу - а оно того стоит? Вот узнает "конкурент" про эту Вашу "фичу" и будет сидеть и кликать по товарам, добавляя их в корзину себе, чтобы у других не было возможности купить товар :) 

Ну и да, не совсем понятно каким образом Вы теряете конверсию. "Вам шашечки, или ехать?"(С) Ограничив добавление товара в корзину вы ТОЧНО потеряете клиента, который не будет понимать что именно происходит с его корзиной :) Он добавляет товар, шарится по сайту в поиске второго товара, а у него первый товар пропадает из корзины по непонятным ему причинам.

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

 

  Скрыть содержимое

image.thumb.png.46e46c16edeecf158aa62b9d93cefacf.png



Ну и на сколько я вижу Вы в симпле вообще вырезали функционал "Подсветки" недостающих товаров (***). Потому в большой корзине это не наглядно:
 

  Показать содержимое

image.thumb.png.dfcc5403423dcd92d63e54b9e43f4d13.png

Не понятно какого именно товара нет в нужном количестве.

Я не хочу что бы товар резервировался, я хочу что бы он добавлялся только ОДИН В ОДНУ КОРЗИНУ а не 2или3, человек бывает забыл что уже добавил его и закидывает ещё раз а потом как правильно вы подметили не может понять какого товара не хватает, так как я переделал ЦВЕТА НА САЙТЕ и (***) сейчас не видно. И так же хочу что бы если товар уже заказан то он удалялся из корзин у других людей которые его закидывали до этого!

Link to comment
Share on other sites


17.07.2022 в 15:07, chukcha сказал:

Это как, т.е. вы имеет ввиду аля - разервирование

Т.е. у вас есть товар , но он один. Кто первый, того и тапки.
В принципе, это реально, но неужели у вас толпа за эти товаром?

Нет вы вероятно не так меня поняли, я хочу что бы товар который был добавлен покупателям удалялся из его корзины когда его ЗАКАЗАЛ другой покупатель. Потому что он висит в корзине и человек не может оформить заказ так как его нет на складе

Link to comment
Share on other sites


17.07.2022 в 18:02, Asp1r1n сказал:

Я не хочу что бы товар резервировался,

 

17.07.2022 в 18:02, Asp1r1n сказал:

он удалялся из корзин у других людей которые его закидывали до этого


Уже понял, что изначально неправильно прочитал (понял) задачу.  Всё что ниже - просто для истории. :)

Вы понимаете, что именно в этом противоречие Ваших "желаний"?
Давайте на реальной ситуации.
Пользователь1 добавил товар в корзину.
Спустя минуту Пользователь2 добавляет ЭТОТ же товар в корзину - автоматом у первого пользователя товар из корзины улетает.
А спустя ещё минуту Пользователь3 добавляет товар в корзину - теперь он удаляется у пользователя2.

А теперь казино. Все пользователи (не понимая что происходит) начинают добавлять товар в корзину, но он тут -же пропадает, так как то же самое делают остальные.
Вот тут конверсия, конечно, взлетит в небеса :)


Единственный вариант избежать этого - после добавления товара в корзину НЕ ДАТЬ другим пользователям этот товар добавлять. Т.е. РЕЗЕРИВРОВАТЬ товар.
И да, как писал @chukcha - резервировать не обязательно. Ну т.е. обнулять остаток на складе не обязательно. Важно просто показівать уведомления пользователям, что товар находится в корзине у другого покупателя. Мол "подождите, вдруг он передумает". Но неужели Вы считаете, что это обрадует покупателя? Он Сделал ВСЁ, что от него зависело - перешел по ссылке к Вам в магазин. Увидел товар, принял цену, нажал купить, а ему в лицо- "нене. Пагодь. Там главнее покупатели есть."


Что первый случай, что второй - не очень здоровское решение. Правильней - именно обнулять остатки. Т.е. именно резервирование. Во всех остальных случаях о "конверсии" можете вообще забыть", так как не факт, что первый добавивший товар в корзину таки  купит его. И совсем не факт, что если у покупателей будут из корзины самопроизвольно удаляться товары - это их не выбесит.

Там ещё несколько подводных камней есть, но этот самый главный.

Link to comment
Share on other sites

17.07.2022 в 18:06, Asp1r1n сказал:

когда его ЗАКАЗАЛ

Вы имеете ввиду не добавил в корзину, а оформил заказ?
А, ну тогда:

17.07.2022 в 13:34, nogocuHoBuk сказал:

2. Добавлением в addOrderHistory запроса в БД к oc_cart что-то типа "DELETE FROM oc_cart where product_id = ИД_Оформляемого_товара"


Тут то сложностей нет.
Вы вроде и сообщение первое своё не редактировали :) Не знаю почему я прочитал, что именно при добавлении в корзину удалять у остальных :)
 

Link to comment
Share on other sites

17.07.2022 в 18:06, Asp1r1n сказал:

я хочу что бы товар который был добавлен покупателям удалялся из его корзины когда его ЗАКАЗАЛ другой покупатель.

А какое кол-во пользователей у вас на сайте в сутки и какое кол-во одновременно онлайн?

Можете написать?

Link to comment
Share on other sites


17.07.2022 в 18:20, nogocuHoBuk сказал:

Вы имеете ввиду не добавил в корзину, а оформил заказ?
А, ну тогда:


Тут то сложностей нет.
Вы вроде и сообщение первое своё не редактировали :) Не знаю почему я прочитал, что именно при добавлении в корзину удалять у остальных :)
 

Я извиняюсь, но я вообще нуб в коде и прочем, можете пожалуйста написать кусок кода (готовый) и сказать куда конкретно нужно его всунуть. Пожалуйста!

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.