Magento Core API: список всех способов доставки - PullRequest
4 голосов
/ 19 марта 2012

Метод cart_shipping.list в Magento Core API не возвращает все способы доставки / оплаты, включенные на сайте администратора. Доступны следующие методы: Фиксированная ставка, Таблица тарифов, Бесплатная доставка, UPS, USPS, FedEx и DHL . Звонок cart_shipping.list только возврат Единый тариф, бесплатная доставка и ИБП .

Есть идеи, почему?

Мое основное подозрение (при рассмотрении функции getShippingRatesCollection() класса Mage_Sales_Model_Quote_Address) заключается в том, что адрес доставки, установленный для заказа, используется для фильтрации некоторых методов. Однако я не совсем понимаю, как происходит такая фильтрация, поскольку во внешнем интерфейсе эта проблема не возникает при использовании одного и того же адреса доставки (т. Е. Я вижу все методы доставки, которые я ожидаю увидеть для этого адреса).

1 Ответ

5 голосов
/ 30 апреля 2012

Я нашел рабочее решение этой проблемы, по крайней мере, в моем случае.

Проблема заключалась в том, что я не указывал идентификатор магазина ни в одном из методов, используемых для создания корзины, и указывал ее товары и адреса доставки / выставления счетов, ведущие к звонку на cart_shipping.list.

Это следующие методы: cart.create, cart_customer.set, cart_customer.addresses и cart_product.add. Все они принимают Store Id в качестве необязательного параметра. Указание этого идентификатора магазина приводит ко всем способам доставки, видимым в интерфейсе для того же продукта и отображаемого адреса доставки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...