123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Customer\Block\Adminhtml\Edit\Tab;
- /**
- * Obtain all carts contents for specified client
- *
- * @api
- * @since 100.0.2
- */
- class Carts extends \Magento\Backend\Block\Template
- {
- /**
- * @var \Magento\Customer\Model\Config\Share
- */
- protected $_shareConfig;
- /**
- * @var \Magento\Customer\Api\Data\CustomerInterfaceFactory
- */
- protected $customerDataFactory;
- /**
- * @var \Magento\Framework\Api\DataObjectHelper
- */
- protected $dataObjectHelper;
- /**
- * @param \Magento\Backend\Block\Template\Context $context
- * @param \Magento\Customer\Model\Config\Share $shareConfig
- * @param \Magento\Customer\Api\Data\CustomerInterfaceFactory $customerDataFactory
- * @param \Magento\Framework\Api\DataObjectHelper $dataObjectHelper
- * @param array $data
- */
- public function __construct(
- \Magento\Backend\Block\Template\Context $context,
- \Magento\Customer\Model\Config\Share $shareConfig,
- \Magento\Customer\Api\Data\CustomerInterfaceFactory $customerDataFactory,
- \Magento\Framework\Api\DataObjectHelper $dataObjectHelper,
- array $data = []
- ) {
- $this->_shareConfig = $shareConfig;
- $this->customerDataFactory = $customerDataFactory;
- $this->dataObjectHelper = $dataObjectHelper;
- parent::__construct($context, $data);
- }
- /**
- * Add shopping cart grid of each website
- *
- * @return $this
- */
- protected function _prepareLayout()
- {
- $sharedWebsiteIds = $this->_shareConfig->getSharedWebsiteIds($this->_getCustomer()->getWebsiteId());
- $isShared = count($sharedWebsiteIds) > 1;
- foreach ($sharedWebsiteIds as $websiteId) {
- $blockName = 'customer_cart_' . $websiteId;
- $block = $this->getLayout()->createBlock(
- \Magento\Customer\Block\Adminhtml\Edit\Tab\Cart::class,
- $blockName,
- ['data' => ['website_id' => $websiteId]]
- );
- if ($isShared) {
- $websiteName = $this->_storeManager->getWebsite($websiteId)->getName();
- $block->setCartHeader(__('Shopping Cart from %1', $websiteName));
- }
- $this->setChild($blockName, $block);
- }
- return parent::_prepareLayout();
- }
- /**
- * Just get child blocks html
- *
- * @return string
- */
- protected function _toHtml()
- {
- $this->_eventManager->dispatch('adminhtml_block_html_before', ['block' => $this]);
- return $this->getChildHtml();
- }
- /**
- * @return \Magento\Customer\Api\Data\CustomerInterface
- */
- protected function _getCustomer()
- {
- $customerDataObject = $this->customerDataFactory->create();
- $this->dataObjectHelper->populateWithArray(
- $customerDataObject,
- $this->_backendSession->getCustomerData()['account'],
- \Magento\Customer\Api\Data\CustomerInterface::class
- );
- return $customerDataObject;
- }
- }
|