diff --git a/core/lib/Thelia/Core/Template/Loop/Delivery.php b/core/lib/Thelia/Core/Template/Loop/Delivery.php index 9d4065467..6bdcf1a6e 100644 --- a/core/lib/Thelia/Core/Template/Loop/Delivery.php +++ b/core/lib/Thelia/Core/Template/Loop/Delivery.php @@ -14,6 +14,7 @@ namespace Thelia\Core\Template\Loop; use Thelia\Core\Template\Element\LoopResult; use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Loop\Argument\Argument; +use Thelia\Model\AreaDeliveryModuleQuery; use Thelia\Model\CountryQuery; use Thelia\Model\Module; use Thelia\Module\BaseModule; @@ -54,6 +55,12 @@ class Delivery extends BaseSpecificModule /** @var Module $deliveryModule */ foreach ($loopResult->getResultDataCollection() as $deliveryModule) { + + $areaDeliveryModule = AreaDeliveryModuleQuery::create() + ->findByCountryAndModule($country, $deliveryModule); + + if (null === $areaDeliveryModule) continue; + $loopResultRow = new LoopResultRow($deliveryModule); /** @var DeliveryModuleInterface $moduleInstance */ diff --git a/core/lib/Thelia/Model/AreaDeliveryModuleQuery.php b/core/lib/Thelia/Model/AreaDeliveryModuleQuery.php index 416daa8c9..dfb58e863 100644 --- a/core/lib/Thelia/Model/AreaDeliveryModuleQuery.php +++ b/core/lib/Thelia/Model/AreaDeliveryModuleQuery.php @@ -17,4 +17,19 @@ use Thelia\Model\Base\AreaDeliveryModuleQuery as BaseAreaDeliveryModuleQuery; class AreaDeliveryModuleQuery extends BaseAreaDeliveryModuleQuery { + + public function findByCountryAndModule(Country $country, Module $module) + { + $response = null; + + if (null !== $country->getAreaId()) { + $response = $this->filterByAreaId($country->getAreaId()) + ->filterByModule($module) + ->findOne(); + + } + + return $response; + } + } // AreaDeliveryModuleQuery