Исходные данные:
- плагин расчета доставки (external, если это важно), возвращающий array( array('rate'=>null, 'message'=>'Не указаны нужные поля адреса'))
- В Shop-Script в настройках оформления заказа для тапа "Доставка" выбран запрос полей адреса "Только поля, необходимые для расчета стоимости доставки"
Действия:
Выбрать этот способ доставки. Нажать кнопку "Далее".
Результат:
В ответ придет ajax'ом ошибка "Fatal error: Uncaught Error: Call to a member function isValid() on null in /html/wa-apps/shop/lib/classes/checkout/shopCheckoutShipping.class.php on line 708"
4 комментария
В документации для метода calculate() — о нём речь? — я вижу рекомендуемый способ возврата сообщения об ошибке расчёта стоимости доставки в виде простой строки, а не массива. Вы пробовали им пользоваться вместо описанного вами?
Михаил, вы просто не в курсе.
Если из calculate:
Можете самостоятельно посмотреть код штатных плагинов. Например Яндекс.Доставки :)
Так вон оно как оказывается... а то сидишь и думаешь, какого пи, этот пи, вернул кукую то пи вместо пи пи пи...
Михаил, может стоит добавить эту информацию в https://developers.webasyst.ru/cookbook/plugins/sh..?
Да, конечно, добавим.