Однако, в order нет других упоминаний id компании доставки и я не верю, что эти,безусловно, полезные данные пропадают в недрах webasyst, при этом сохраняются "второстепенные данные". Есть способ передать id компании доставки напрямую в хук?
Господа, простите, что опять поднимаю этот вопрос, но, все же, как на шаге checkout/shipping можно получить актуальные shipping_id (именно ID методов доставки).
"Актуальные" - я имею в виду не все, которые существуют в магазине, а только те, которые были выданы для конкретного заказа, с учетом ограничений доставки до весу, регионам и т.п.
К примеру в шаблоне это можно легко получить из переменной {$checkout_shipping_methods}
В хук передаётся информация о заказе, соответственно из параметров - примерно $order['params']['shipping_id']
Я точно так же использовал, но, независимо от выбранного варианта доставки $order['params']['shipping_id'] возвращает "5".
Метод calculate возвращает, к примеру вот такой массив:
services = [{name = 'Test', id = '108', rate = '400', est_delivery = '1 день', Currency = 'RUB'}]
Вот фрагмент кода, который отвечает за разбор json. работает корректно, лично проверял
ЧЯДНТ?
shipping_id это ID метода доставки, а не варианта, предлагаемого этим методом
Однако, в order нет других упоминаний id компании доставки и я не верю, что эти,безусловно, полезные данные пропадают в недрах webasyst, при этом сохраняются "второстепенные данные". Есть способ передать id компании доставки напрямую в хук?
Господа, простите, что опять поднимаю этот вопрос, но, все же, как на шаге checkout/shipping можно получить актуальные shipping_id (именно ID методов доставки).
"Актуальные" - я имею в виду не все, которые существуют в магазине, а только те, которые были выданы для конкретного заказа, с учетом ограничений доставки до весу, регионам и т.п.
К примеру в шаблоне это можно легко получить из переменной {$checkout_shipping_methods}
как получить эту же информацию в PHP?
Спасибо!
Очевидный ответ - посмотреть как и чем формируется переменная $checkout_shipping_methods для эшенов чекуатуа и делать тоже самое.
если речь не о шаблоне, то см. метод listPlugins() в shopPluginModel
Сергей, спасибо!
Если еще, кто-то будет искать, то: