Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Opencart api


Recommended Posts

Создал апи контрорллер метод которого добавляет продукты сайта в корзину(зачем я это делаю неважно :D). Суть в том, что в базу продукты добавляются, ведь я использую стандартный метод "checkout/cart/add", но какие-то проблемами с сессиями... В базу не та сессия записывается. Вопрос в том как получить корзину "созданную" через апи. 

Надіслати
Поділитися на інших сайтах


Правильное решение для апи - это отсутствие сессий и вообще каких-либо состояний (типа залогинен покупатель или нет). Запросы должны быть атомарными.

При добавлении первого товара в корзину, создавайте её и записывайте в базу, передавая в ответ её id, а затем используйте его при добавлении последующих товаров и других операциях с корзиной.

 

я использую стандартный метод "checkout/cart/add"

На это есть какие-то причины или вы просто не знали про /catalog/controller/api/cart.php?

Правда, там тоже сессии есть.

 

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

Надіслати
Поділитися на інших сайтах


Правильное решение для апи - это отсутствие сессий и вообще каких-либо состояний (типа залогинен покупатель или нет). Запросы должны быть атомарными.

При добавлении первого товара в корзину, создавайте её и записывайте в базу, передавая в ответ её id, а затем используйте его при добавлении последующих товаров и других операциях с корзиной.

 

 

 

На это есть какие-то причины или вы просто не знали про /catalog/controller/api/cart.php?

Правда, там тоже сессии есть.

 

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

Я не знал об api/cart, не досмотрел, не работал с опенкартом ранее. Как я смогу отображать корзину пользователю на фронте?

Надіслати
Поділитися на інших сайтах


Как я смогу отображать корзину пользователю на фронте?

Отправляйте запрос к api/cart/products и получите в json формате все товары + итоговую сумму с учётом всех модулей, которые на неё влияют.

 

Но там используется api_id из сессии. Лучше бы переделать, чтоб он явно передавался в запросах.

Надіслати
Поділитися на інших сайтах


Отправляйте запрос к api/cart/products и получите в json формате все товары + итоговую сумму с учётом всех модулей, которые на неё влияют.

 

Но там используется api_id из сессии. Лучше бы переделать, чтоб он явно передавался в запросах.

Не понял что именно переделать. Да, я вижу что в каждом методе идет проверка на существование сессии с ключем api_id.

Надіслати
Поділитися на інших сайтах


Не понял что именно переделать.

Отказаться от сессий и передавать api_id в каждом запросе, хотя бы параметром в ссылке и тогда вместо $this->session->data['api_id'] использовать $this->request->get['api_id'].

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.