123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Checkout\Block\Cart;
- /**
- * "My Cart" link
- *
- * @SuppressWarnings(PHPMD.DepthOfInheritance)
- */
- class Link extends \Magento\Framework\View\Element\Html\Link
- {
- /**
- * @var \Magento\Framework\Module\Manager
- */
- protected $_moduleManager;
- /**
- * @var \Magento\Checkout\Helper\Cart
- */
- protected $_cartHelper;
- /**
- * @param \Magento\Framework\View\Element\Template\Context $context
- * @param \Magento\Framework\Module\Manager $moduleManager
- * @param \Magento\Checkout\Helper\Cart $cartHelper
- * @param array $data
- * @codeCoverageIgnore
- */
- public function __construct(
- \Magento\Framework\View\Element\Template\Context $context,
- \Magento\Framework\Module\Manager $moduleManager,
- \Magento\Checkout\Helper\Cart $cartHelper,
- array $data = []
- ) {
- $this->_cartHelper = $cartHelper;
- parent::__construct($context, $data);
- $this->_moduleManager = $moduleManager;
- }
- /**
- * @return string
- * @codeCoverageIgnore
- */
- public function getLabel()
- {
- return $this->_createLabel($this->_getItemCount());
- }
- /**
- * @return string
- * @codeCoverageIgnore
- */
- public function getHref()
- {
- return $this->getUrl('checkout/cart');
- }
- /**
- * Render block HTML
- *
- * @return string
- */
- protected function _toHtml()
- {
- if (!$this->_moduleManager->isOutputEnabled('Magento_Checkout')) {
- return '';
- }
- return parent::_toHtml();
- }
- /**
- * Count items in cart
- *
- * @return int
- */
- protected function _getItemCount()
- {
- $count = $this->getSummaryQty();
- return $count ? $count : $this->_cartHelper->getSummaryCount();
- }
- /**
- * Create link label based on cart item quantity
- *
- * @param int $count
- * @return \Magento\Framework\Phrase
- */
- protected function _createLabel($count)
- {
- if ($count == 1) {
- return __('My Cart (1 item)');
- } elseif ($count > 0) {
- return __('My Cart (%1 items)', $count);
- } else {
- return __('My Cart');
- }
- }
- }
|