Просматривая код шаблона вывода стоимости доставки в вариантах доставки, видно что предусмотрен вывод вариантов стоимости в виде _Rate.name - _Rate.rate в выпадающем списке (select). У кого-то есть опыт, как задействовать эту возможность? Мне это показалось полезным когда надо вывести разные стоимости доставки для Предоплаты и Наложенного платежа, касающиеся одного и того же варианта доставки.
2
Несколько вариантов стоимости доставки в конкректном методе доставки
Автор makki, Mar 01 2016 09:35 AM
Метод доставки Стоимость Select
В теме одно сообщение
#1
Отправлено 01 March 2016 - 09:35 AM
#2
Отправлено 01 March 2016 - 11:08 AM
У меня так сделан модуль доставки Почтой России, использующий для расчета стоимости доставки сервис postcalc.ru.У кого-то есть опыт, как задействовать эту возможность?
ShopCMS написан так, что функция модуля доставки calculate_shipping_rate() может отдавать либо число (стоимость доставки), либо массив с пучком данных. Оба варианта валидны и нормально обрабатываются, но в случае массива это позволяет вернуть из функции куда больше данных. Поэтому в своих модулях доставки я всегда возвращаю стоимость доставки массивом, даже если вариант доставки всего один.
В ShopCMS есть один штатный модуль, использующий эту возможность - "Почта России".
Там два варианта доставки - "Обычная" и "Авиа" - можно подсмотреть, как сделано.
PS. В этот массив удобно загонять и другие данные (не штатные), используемые потом при выводе стоимости доставки.
Я туда добавляю сроки доставки и вес заказа, потом вывожу их в нужном месте.
Как-то так:
$rates = array(array('name' => $days, 'id' => 1, 'rate' => $ship_cost, 'weight' => CONF_EMSPOST_WEIGHT_SHOW?$full_weight:0));
Только чтобы разобраться, как оно работает (особенно при нескольких вариантах доставки, т.е. при использовании $shippingID) - это голову сломаешь. Ну очень все замороченно написано. Не сам класс доставки, а дальнейшее его использование.
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)