Добавление цены к товару при отправки его в корзину UMI?

Всем добрый день. Назрел такой вопрос. Есть в админке товар с полем цена(price) = 100. При выводе данного товара на сайте, цена формируется как 100 * 10 = 1 000, и пользователь видит 1 000. Когда он нажимает добавить, то в корзину добавляется цена = 100.

Как можно отправить запрос с ценой = 1 000?

Запрос делаю через ajax:
'/udata/emarket/basket/put/element/' + id + '.json'

где id - это номер элемента, если писать:
'/udata/emarket/basket/put/element/' + id + '.json?amount=2'

то у нас меняется количество товара, если же писать:
'/udata/emarket/basket/put/element/' + id + '.json?price=1000'

то ничего не меняется, цена у товара не обновляется.
  • Вопрос задан
  • 819 просмотров
Решения вопроса 1
@ilyarsoftware
Как можно отправить запрос с ценой = 1 000?

Если кратко, то никак. Подробнее можно прочитать в документации по макросу %emarket basket()% именно он используется для взаимодействие с корзиной для текущего пользователя.

Ниже опишу возможные варианты применения применения коэффициента для цены.

Используйте валюты, системная валюта "фантики", в модуле Интернет магазин устанавливаете курс рублей 10, на посетителю показываете рубли. Создаем новою валюту, и устанавливаем ее в качестве системной валюты в config.ini, Код валюты по умолчанию: default-currency = "RUR", можно использовать существующие, если только у вас отключено обновление валют, в противном случае курс будет обновятся.

Более простой вариант для применения коэффициента к цене можно задействовать функционал скидок.

Для реализации более сложной логики применения коэффициента следует использовать API UMI.CMS, например реализовать обработчик событий umiObjectProperty_loadPriceValue для отображения цены и order_refresh (в зависимости от требований может потребоваться использовать событие orderItem_refresh) для расчета заказа (подробнее смотри документацию Разработка нестандартного функционала / Событийная...).

Как вариант использования API UMI.CMS сделать собственную реализацию процесса работы с корзиной и оформления товара это будет проще чем делать с нуля, но сложнее чем реализация обработчиков событий, зато получаем больше контроля.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@titronfan
Я не знаю UMI CMS. Но если смотреть по логике вещей, то если параметр amount меняется, а price не меняется - то проблема с данным параметром (price). Его не может принять данный .json. Тут нужно смотреть в документации - какие параметры можно передавать и в чем могут быть подводные камни.

И ещё - может быть это вообще не в тему, но возможно ещё кое-какая проблема может с сессией пользователя на сайте.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы