Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Carrier.php
Go to the documentation of this file.
1 <?php
7 
12 {
16  const XML_PATH_CARRIERS_ROOT = 'carriers';
17 
21  const XML_PATH_EU_COUNTRIES_LIST = 'general/country/eu_countries';
22 
28  protected $localeResolver;
29 
34  public function __construct(
35  \Magento\Framework\App\Helper\Context $context,
36  \Magento\Framework\Locale\ResolverInterface $localeResolver
37  ) {
38  $this->localeResolver = $localeResolver;
39  parent::__construct($context);
40  }
41 
48  public function getOnlineCarrierCodes($store = null)
49  {
50  $carriersCodes = [];
51  foreach ($this->scopeConfig->getValue(
52  self::XML_PATH_CARRIERS_ROOT,
53  \Magento\Store\Model\ScopeInterface::SCOPE_STORE,
54  $store
55  ) as $carrierCode => $carrier) {
56  if (isset($carrier['is_online']) && $carrier['is_online']) {
57  $carriersCodes[] = $carrierCode;
58  }
59  }
60  return $carriersCodes;
61  }
62 
71  public function getCarrierConfigValue($carrierCode, $configPath, $store = null)
72  {
73  return $this->scopeConfig->getValue(
74  sprintf('%s/%s/%s', self::XML_PATH_CARRIERS_ROOT, $carrierCode, $configPath),
75  \Magento\Store\Model\ScopeInterface::SCOPE_STORE,
76  $store
77  );
78  }
79 
88  public function convertMeasureWeight($value, $sourceWeightMeasure, $toWeightMeasure)
89  {
90  if ($value) {
91  $locale = $this->localeResolver->getLocale();
92  $unitWeight = new \Zend_Measure_Weight($value, $sourceWeightMeasure, $locale);
93  $unitWeight->setType($toWeightMeasure);
94  return $unitWeight->getValue();
95  }
96  return null;
97  }
98 
107  public function convertMeasureDimension($value, $sourceDimensionMeasure, $toDimensionMeasure)
108  {
109  if ($value) {
110  $locale = $this->localeResolver->getLocale();
111  $unitDimension = new \Zend_Measure_Length($value, $sourceDimensionMeasure, $locale);
112  $unitDimension->setType($toDimensionMeasure);
113  return $unitDimension->getValue();
114  }
115  return null;
116  }
117 
124  public function getMeasureWeightName($key)
125  {
126  $weight = new \Zend_Measure_Weight(0);
127  $conversionList = $weight->getConversionList();
128  if (!empty($conversionList[$key]) && !empty($conversionList[$key][1])) {
129  return $conversionList[$key][1];
130  }
131  return '';
132  }
133 
140  public function getMeasureDimensionName($key)
141  {
142  $weight = new \Zend_Measure_Length(0);
143  $conversionList = $weight->getConversionList();
144  if (!empty($conversionList[$key]) && !empty($conversionList[$key][1])) {
145  return $conversionList[$key][1];
146  }
147  return '';
148  }
149 
157  public function isCountryInEU($countryCode, $storeId = null)
158  {
159  $euCountries = explode(
160  ',',
161  $this->scopeConfig->getValue(
162  self::XML_PATH_EU_COUNTRIES_LIST,
163  \Magento\Store\Model\ScopeInterface::SCOPE_STORE,
164  $storeId
165  )
166  );
167 
168  return in_array($countryCode, $euCountries);
169  }
170 }
isCountryInEU($countryCode, $storeId=null)
Definition: Carrier.php:157
convertMeasureWeight($value, $sourceWeightMeasure, $toWeightMeasure)
Definition: Carrier.php:88
$value
Definition: gender.phtml:16
convertMeasureDimension($value, $sourceDimensionMeasure, $toDimensionMeasure)
Definition: Carrier.php:107
__construct(\Magento\Framework\App\Helper\Context $context, \Magento\Framework\Locale\ResolverInterface $localeResolver)
Definition: Carrier.php:34
getCarrierConfigValue($carrierCode, $configPath, $store=null)
Definition: Carrier.php:71
getOnlineCarrierCodes($store=null)
Definition: Carrier.php:48