Плагин доставки. Не доставлять в города.
Подскажите, а как правильно в плагине доставки с параметром в plugin.php 'external' => true реализовать возможность не показывать способ доставки в определенные города? Если 'external' => false, то все понятно, вернул false и готово. Но когда 'external' => true, то как-то некрасиво получается... Думал было через allowedAddress(), так там адрес покупателя еще не доступен... Как быть?
Да и вообще, расскажите об этом параметре 'external'. На что он еще влияет? Ну чтоб полное понимание было.
Спасибо.
Эта тема в архиве. Добавление комментариев к ней отключено.










8 ответов
Скоро выйдет мой плагин "Shipping Tricks", в нем можно будет это сделать ;-)
Кому сделать? :) Разработчикам плагинов доставки от этого не легче :) Это поможет пользователям, у которых уже есть плагины доставки и в которых это не реализовано. Да и на всякий случай, глянул бы, как оно будет работать, если в плагине доставки в plugin.php присутствует параметр 'external' => true.
В таком случае да, я думал вам как пользователю это нужно.
Понятия не имею, что делает external. Сами плагины доставки в моем плагине (о господи, плагины плагины плагины) будут скрываться именно по этим настройкам. А отображаться будут только те, которые итак бы отображались (в доставке курьером же можно установить город, для которого будет показываться, соответственно для него в моем плагине не имеет смысла делать свои ограничения, разве что если это несколько городов).
Ну я не знаю архитектуры вашего плагина, но, интуитивно, для плагинов с параметром 'external' => true даже с учетом вашего плагина на экране будет виден способ доставки, а напротив него "Недоступно". Могу и ошибаться. Может проверить, из любопытства? :) Думаю, для проверки достаточно в плагине от WA Почта России в plugin.php добавить параметр 'external' => true и напустить на него вашу разработку.
Читал, знаю. Основной вопрос в ином.
Можно расширить метод isAllowedAddress и добавить в него данную проверку, не вижу никаких проблем.
В этом вопрос и был. Рад что проблем не видите.
Спасибо, гляну.