![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-checkout/Block/Cart/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Checkout\Block\Cart; use Magento\Store\Model\ScopeInterface; /** * Cart sidebar block * * @api * @since 100.0.2 */ class Sidebar extends AbstractCart { /** * Xml pah to checkout sidebar display value */ const XML_PATH_CHECKOUT_SIDEBAR_DISPLAY = 'checkout/sidebar/display'; /** * Xml pah to checkout sidebar count value */ const XML_PATH_CHECKOUT_SIDEBAR_COUNT = 'checkout/sidebar/count'; /** * @var \Magento\Catalog\Helper\Image */ protected $imageHelper; /** * @var \Magento\Framework\Serialize\Serializer\Json */ private $serializer; /** * @param \Magento\Framework\View\Element\Template\Context $context * @param \Magento\Customer\Model\Session $customerSession * @param \Magento\Checkout\Model\Session $checkoutSession * @param \Magento\Catalog\Helper\Image $imageHelper * @param \Magento\Customer\CustomerData\JsLayoutDataProviderPoolInterface $jsLayoutDataProvider * @param array $data * @param \Magento\Framework\Serialize\Serializer\Json|null $serializer * @throws \RuntimeException */ public function __construct( \Magento\Framework\View\Element\Template\Context $context, \Magento\Customer\Model\Session $customerSession, \Magento\Checkout\Model\Session $checkoutSession, \Magento\Catalog\Helper\Image $imageHelper, \Magento\Customer\CustomerData\JsLayoutDataProviderPoolInterface $jsLayoutDataProvider, array $data = [], \Magento\Framework\Serialize\Serializer\Json $serializer = null ) { if (isset($data['jsLayout'])) { $this->jsLayout = array_merge_recursive($jsLayoutDataProvider->getData(), $data['jsLayout']); unset($data['jsLayout']); } else { $this->jsLayout = $jsLayoutDataProvider->getData(); } parent::__construct($context, $customerSession, $checkoutSession, $data); $this->_isScopePrivate = false; $this->imageHelper = $imageHelper; $this->serializer = $serializer ?: \Magento\Framework\App\ObjectManager::getInstance() ->get(\Magento\Framework\Serialize\Serializer\Json::class); } /** * Returns minicart config * * @return array */ public function getConfig() { return [ 'shoppingCartUrl' => $this->getShoppingCartUrl(), 'checkoutUrl' => $this->getCheckoutUrl(), 'updateItemQtyUrl' => $this->getUpdateItemQtyUrl(), 'removeItemUrl' => $this->getRemoveItemUrl(), 'imageTemplate' => $this->getImageHtmlTemplate(), 'baseUrl' => $this->getBaseUrl(), 'minicartMaxItemsVisible' => $this->getMiniCartMaxItemsCount(), 'websiteId' => $this->_storeManager->getStore()->getWebsiteId(), 'maxItemsToDisplay' => $this->getMaxItemsToDisplay(), 'storeId' => $this->_storeManager->getStore()->getId(), 'storeGroupId' => $this->_storeManager->getStore()->getStoreGroupId() ]; } /** * Get serialized config * * @return string * @since 100.2.0 */ public function getSerializedConfig() { return $this->serializer->serialize($this->getConfig()); } /** * Get image html template * * @return string */ public function getImageHtmlTemplate() { return 'Magento_Catalog/product/image_with_borders'; } /** * Get one page checkout page url * * @codeCoverageIgnore * @return string */ public function getCheckoutUrl() { return $this->getUrl('checkout'); } /** * Get shopping cart page url * * @return string * @codeCoverageIgnore */ public function getShoppingCartUrl() { return $this->getUrl('checkout/cart'); } /** * Get update cart item url * * @return string * @codeCoverageIgnore * @SuppressWarnings(PHPMD.RequestAwareBlockMethod) */ public function getUpdateItemQtyUrl() { return $this->getUrl('checkout/sidebar/updateItemQty', ['_secure' => $this->getRequest()->isSecure()]); } /** * Get remove cart item url * * @return string * @codeCoverageIgnore * @SuppressWarnings(PHPMD.RequestAwareBlockMethod) */ public function getRemoveItemUrl() { return $this->getUrl('checkout/sidebar/removeItem', ['_secure' => $this->getRequest()->isSecure()]); } /** * Define if Mini Shopping Cart Pop-Up Menu enabled * * @return bool * @codeCoverageIgnore * @SuppressWarnings(PHPMD.BooleanGetMethodName) */ public function getIsNeedToDisplaySideBar() { return (bool)$this->_scopeConfig->getValue( self::XML_PATH_CHECKOUT_SIDEBAR_DISPLAY, ScopeInterface::SCOPE_STORE ); } /** * Return totals from custom quote if needed * * @return array */ public function getTotalsCache() { if (empty($this->_totals)) { $quote = $this->getCustomQuote() ? $this->getCustomQuote() : $this->getQuote(); $this->_totals = $quote->getTotals(); } return $this->_totals; } /** * Retrieve subtotal block html * * @codeCoverageIgnore * @return string */ public function getTotalsHtml() { return $this->getLayout()->getBlock('checkout.cart.minicart.totals')->toHtml(); } /** * Return base url. * * @codeCoverageIgnore * @return string */ public function getBaseUrl() { return $this->_storeManager->getStore()->getBaseUrl(); } /** * Return max visible item count for minicart * * @return int */ private function getMiniCartMaxItemsCount() { return (int)$this->_scopeConfig->getValue('checkout/sidebar/count', ScopeInterface::SCOPE_STORE); } /** * Returns maximum cart items to display * * This setting regulates how many items will be displayed in minicart * * @return int */ private function getMaxItemsToDisplay() { return (int)$this->_scopeConfig->getValue( 'checkout/sidebar/max_items_display_count', ScopeInterface::SCOPE_STORE ); } }