Плагин доставки. Не доставлять в города.

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

Да и вообще, расскажите об этом параметре 'external'. На что он еще влияет? Ну чтоб полное понимание было.

Спасибо.

8 ответов

  • 1
    Константин Шевский 9 ноября 2016 11:33 #

    Скоро выйдет мой плагин "Shipping Tricks", в нем можно будет это сделать ;-)


    • +1
      waResearchLab waResearchLab 9 ноября 2016 11:48 #

      Кому сделать? :) Разработчикам плагинов доставки от этого не легче :) Это поможет пользователям, у которых уже есть плагины доставки и в которых это не реализовано. Да и на всякий случай, глянул бы, как оно будет работать, если в плагине доставки в plugin.php присутствует параметр 'external' => true.

      • +1
        Константин Шевский Константин Шевский 9 ноября 2016 18:55 #

        В таком случае да, я думал вам как пользователю это нужно.

        Понятия не имею, что делает external. Сами плагины доставки в моем плагине (о господи, плагины плагины плагины) будут скрываться именно по этим настройкам. А отображаться будут только те, которые итак бы отображались (в доставке курьером же можно установить город, для которого будет показываться, соответственно для него в моем плагине не имеет смысла делать свои ограничения, разве что если это несколько городов).

        • +1
          waResearchLab waResearchLab 9 ноября 2016 19:28 #

          Ну я не знаю архитектуры вашего плагина, но, интуитивно, для плагинов с параметром 'external' => true даже с учетом вашего плагина на экране будет виден способ доставки, а напротив него "Недоступно". Могу и ошибаться. Может проверить, из любопытства? :) Думаю, для проверки достаточно в плагине от WA Почта России в plugin.php добавить параметр 'external' => true и напустить на него вашу разработку.

  • 1
    Cetus 10 ноября 2016 15:00 #
    external: флаг, заставляющий запросы в PHP-коде плагина к внешним ресурсам (например, с помощью curl) выполняться в отдельном AJAX-запросе для увеличения отзывчивости страницы выбора способа доставки.
    • +1
      waResearchLab waResearchLab 10 ноября 2016 15:15 #

      Читал, знаю. Основной вопрос в ином.

      • +1
        Cetus Cetus 10 ноября 2016 17:28 #

        Можно расширить метод isAllowedAddress и добавить в него данную проверку, не вижу никаких проблем.

        • +1
          waResearchLab waResearchLab 10 ноября 2016 17:53 #

          В этом вопрос и был. Рад что проблем не видите.

          Спасибо, гляну.

Эта тема в архиве. Добавление комментариев к ней отключено.