|
Apache/2.4.41 (Ubuntu) Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) server ip : 62.171.164.128 | your ip : 127.0.0.1 safemode OFF > / home / dev2.destoffenstraat.com / app / code / SendCloud / SendCloud / Block / Checkout / |
Filename | /home/dev2.destoffenstraat.com/app/code/SendCloud/SendCloud/Block/Checkout/MultiShipping.php |
Size | 2.53 kb |
Permission | rwxrwxrwx |
Owner | root : root |
Create time | 17-Aug-2025 10:26 |
Last modified | 11-Feb-2023 11:04 |
Last accessed | 23-Aug-2025 14:02 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
<?php
namespace SendCloud\SendCloud\Block\Checkout;
use Magento\Directory\Helper\Data;
use Magento\Framework\Pricing\PriceCurrencyInterface;
use Magento\Framework\View\Element\Template;
use Magento\Multishipping\Block\Checkout\Shipping;
use Magento\Store\Model\ScopeInterface;
use SendCloud\SendCloud\Helper\WeightConverter;
use SendCloud\SendCloud\Plugin\Quote\Address\Rate;
class MultiShipping extends Shipping
{
/**
* @var Data
*/
private $magentoHelper;
/**
* @param Data $magentoHelper
* @param Template\Context $context
* @param \Magento\Framework\Filter\DataObject\GridFactory $filterGridFactory
* @param \Magento\Multishipping\Model\Checkout\Type\Multishipping $multishipping
* @param \Magento\Tax\Helper\Data $taxHelper
* @param PriceCurrencyInterface $priceCurrency
* @param array $data
*/
public function __construct(
Data $magentoHelper,
\Magento\Framework\View\Element\Template\Context $context,
\Magento\Framework\Filter\DataObject\GridFactory $filterGridFactory,
\Magento\Multishipping\Model\Checkout\Type\Multishipping $multishipping,
\Magento\Tax\Helper\Data $taxHelper,
PriceCurrencyInterface $priceCurrency,
array $data = []
) {
parent::__construct($context, $filterGridFactory, $multishipping, $taxHelper, $priceCurrency, $data);
$this->magentoHelper = $magentoHelper;
}
public function getMethods()
{
$addresses = $this->getAddresses();
$codes = [];
foreach ($addresses as $address) {
$rates = $address->getAllShippingRates();
/**
* @var Rate $rate
*/
foreach ($rates as $rate) {
if (strpos($rate->getCode(), 'sendcloud_checkout') === 0) {
$codes[$rate->getCode()] = $rate->getMethod();
}
}
}
return $codes;
}
public function getAddressesFormated()
{
$addresses = $this->getAddresses();
$formated = [];
foreach ($addresses as $address) {
$data = $address->getData();
$data['base_currency_code'] = $address->getQuote()->getBaseCurrencyCode();
$quoteExtensionAttributes = $address->getQuote()->getExtensionAttributes();
$data['weight_in_grams'] = WeightConverter::convertWeightToGrams($address->getWeight(), $this->magentoHelper->getWeightUnit());
$formated[$address->getData('address_id')] = $data;
}
return $formated;
}
}
namespace SendCloud\SendCloud\Block\Checkout;
use Magento\Directory\Helper\Data;
use Magento\Framework\Pricing\PriceCurrencyInterface;
use Magento\Framework\View\Element\Template;
use Magento\Multishipping\Block\Checkout\Shipping;
use Magento\Store\Model\ScopeInterface;
use SendCloud\SendCloud\Helper\WeightConverter;
use SendCloud\SendCloud\Plugin\Quote\Address\Rate;
class MultiShipping extends Shipping
{
/**
* @var Data
*/
private $magentoHelper;
/**
* @param Data $magentoHelper
* @param Template\Context $context
* @param \Magento\Framework\Filter\DataObject\GridFactory $filterGridFactory
* @param \Magento\Multishipping\Model\Checkout\Type\Multishipping $multishipping
* @param \Magento\Tax\Helper\Data $taxHelper
* @param PriceCurrencyInterface $priceCurrency
* @param array $data
*/
public function __construct(
Data $magentoHelper,
\Magento\Framework\View\Element\Template\Context $context,
\Magento\Framework\Filter\DataObject\GridFactory $filterGridFactory,
\Magento\Multishipping\Model\Checkout\Type\Multishipping $multishipping,
\Magento\Tax\Helper\Data $taxHelper,
PriceCurrencyInterface $priceCurrency,
array $data = []
) {
parent::__construct($context, $filterGridFactory, $multishipping, $taxHelper, $priceCurrency, $data);
$this->magentoHelper = $magentoHelper;
}
public function getMethods()
{
$addresses = $this->getAddresses();
$codes = [];
foreach ($addresses as $address) {
$rates = $address->getAllShippingRates();
/**
* @var Rate $rate
*/
foreach ($rates as $rate) {
if (strpos($rate->getCode(), 'sendcloud_checkout') === 0) {
$codes[$rate->getCode()] = $rate->getMethod();
}
}
}
return $codes;
}
public function getAddressesFormated()
{
$addresses = $this->getAddresses();
$formated = [];
foreach ($addresses as $address) {
$data = $address->getData();
$data['base_currency_code'] = $address->getQuote()->getBaseCurrencyCode();
$quoteExtensionAttributes = $address->getQuote()->getExtensionAttributes();
$data['weight_in_grams'] = WeightConverter::convertWeightToGrams($address->getWeight(), $this->magentoHelper->getWeightUnit());
$formated[$address->getData('address_id')] = $data;
}
return $formated;
}
}