12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Sales\Block\Order;
- /**
- * Sales order link
- *
- * @api
- * @SuppressWarnings(PHPMD.DepthOfInheritance)
- * @since 100.0.2
- */
- class Link extends \Magento\Framework\View\Element\Html\Link\Current
- {
- /**
- * @var \Magento\Framework\Registry
- */
- protected $_registry;
- /**
- * @param \Magento\Framework\View\Element\Template\Context $context
- * @param \Magento\Framework\App\DefaultPathInterface $defaultPath
- * @param \Magento\Framework\Registry $registry
- * @param array $data
- */
- public function __construct(
- \Magento\Framework\View\Element\Template\Context $context,
- \Magento\Framework\App\DefaultPathInterface $defaultPath,
- \Magento\Framework\Registry $registry,
- array $data = []
- ) {
- parent::__construct($context, $defaultPath, $data);
- $this->_registry = $registry;
- }
- /**
- * Retrieve current order model instance
- *
- * @return \Magento\Sales\Model\Order
- */
- private function getOrder()
- {
- return $this->_registry->registry('current_order');
- }
- /**
- * @inheritdoc
- *
- * @return string
- */
- public function getHref()
- {
- return $this->getUrl($this->getPath(), ['order_id' => $this->getOrder()->getId()]);
- }
- /**
- * @inheritdoc
- *
- * @return string
- */
- protected function _toHtml()
- {
- if ($this->hasKey()
- && method_exists($this->getOrder(), 'has' . $this->getKey())
- && !$this->getOrder()->{'has' . $this->getKey()}()
- ) {
- return '';
- }
- return parent::_toHtml();
- }
- }
|