1
0
mirror of synced 2024-11-29 00:25:30 +03:00
magento-module/Model/Setting/Shipping.php

48 lines
1.2 KiB
PHP
Raw Normal View History

2017-05-31 15:24:46 +03:00
<?php
namespace Retailcrm\Retailcrm\Model\Setting;
//use Psr\Log\LoggerInterface;
class Shipping implements \Magento\Framework\Option\ArrayInterface
{
protected $_entityType;
protected $_store;
public function __construct(
\Magento\Store\Model\Store $store,
\Magento\Eav\Model\Entity\Type $entityType
) {
$this->_store = $store;
$this->_entityType = $entityType;
}
public function toOptionArray()
{
$om = \Magento\Framework\App\ObjectManager::getInstance();
$activeShipping = $om->create('Magento\Shipping\Model\Config')->getActiveCarriers();
$config = \Magento\Framework\App\ObjectManager::getInstance()->get(
'Magento\Framework\App\Config\ScopeConfigInterface'
);
foreach($activeShipping as $carrierCode => $carrierModel)
{
$options = array();
if( $carrierMethods = $carrierModel->getAllowedMethods() )
{
foreach ($carrierMethods as $methodCode => $method)
{
$code= $carrierCode.'_'.$methodCode;
$options[]=array('value'=>$code,'label'=>$method);
}
$carrierTitle =$config->getValue('carriers/'.$carrierCode.'/title');
}
$methods[] = array('value'=>$options,'label'=>$carrierTitle);
}
return $methods;
}
}