Link.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Checkout\Block;
  7. /**
  8. * "Checkout" link
  9. *
  10. * @SuppressWarnings(PHPMD.DepthOfInheritance)
  11. */
  12. class Link extends \Magento\Framework\View\Element\Html\Link
  13. {
  14. /**
  15. * @var \Magento\Framework\Module\Manager
  16. */
  17. protected $_moduleManager;
  18. /**
  19. * @var \Magento\Checkout\Helper\Data
  20. */
  21. protected $_checkoutHelper;
  22. /**
  23. * @param \Magento\Framework\View\Element\Template\Context $context
  24. * @param \Magento\Framework\Module\Manager $moduleManager
  25. * @param \Magento\Checkout\Helper\Data $checkoutHelper
  26. * @param array $data
  27. * @codeCoverageIgnore
  28. */
  29. public function __construct(
  30. \Magento\Framework\View\Element\Template\Context $context,
  31. \Magento\Framework\Module\Manager $moduleManager,
  32. \Magento\Checkout\Helper\Data $checkoutHelper,
  33. array $data = []
  34. ) {
  35. $this->_checkoutHelper = $checkoutHelper;
  36. parent::__construct($context, $data);
  37. $this->_moduleManager = $moduleManager;
  38. }
  39. /**
  40. * @return string
  41. * @codeCoverageIgnore
  42. */
  43. public function getHref()
  44. {
  45. return $this->getUrl('checkout', ['_secure' => true]);
  46. }
  47. /**
  48. * Render block HTML
  49. *
  50. * @return string
  51. */
  52. protected function _toHtml()
  53. {
  54. if (!$this->_checkoutHelper->canOnepageCheckout() || !$this->_moduleManager->isOutputEnabled(
  55. 'Magento_Checkout'
  56. )
  57. ) {
  58. return '';
  59. }
  60. return parent::_toHtml();
  61. }
  62. }