1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Dhl\Model\Source\Method;
/**
* Source model for DHL shipping methods
*/
abstract class AbstractMethod extends \Magento\Dhl\Model\Source\Method\Generic
{
/**
* Carrier Product Type Indicator
*
* @var string $_contentType
*/
protected $_contentType;
/**
* Show 'none' in methods list or not;
*
* @var bool
*/
protected $_noneMethod = false;
/**
* {@inheritdoc}
*/
public function toOptionArray()
{
/* @var $carrierModel \Magento\Dhl\Model\Carrier */
$carrierModel = $this->_shippingDhl;
$dhlProducts = $carrierModel->getDhlProducts($this->_contentType);
$options = [];
foreach ($dhlProducts as $code => $title) {
$options[] = ['value' => $code, 'label' => $title];
}
if ($this->_noneMethod) {
array_unshift($options, ['value' => '', 'label' => __('None')]);
}
return $options;
}
}