Link.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Shipping\Block\Tracking;
  7. /**
  8. * Tracking info link
  9. *
  10. * @api
  11. * @since 100.0.2
  12. */
  13. class Link extends \Magento\Framework\View\Element\Html\Link
  14. {
  15. /**
  16. * Core registry
  17. *
  18. * @var \Magento\Framework\Registry
  19. */
  20. protected $_coreRegistry;
  21. /**
  22. * Shipping data
  23. *
  24. * @var \Magento\Shipping\Helper\Data
  25. */
  26. protected $_shippingData;
  27. /**
  28. * @param \Magento\Framework\View\Element\Template\Context $context
  29. * @param \Magento\Framework\Registry $registry
  30. * @param \Magento\Shipping\Helper\Data $shippingData
  31. * @param array $data
  32. */
  33. public function __construct(
  34. \Magento\Framework\View\Element\Template\Context $context,
  35. \Magento\Framework\Registry $registry,
  36. \Magento\Shipping\Helper\Data $shippingData,
  37. array $data = []
  38. ) {
  39. $this->_shippingData = $shippingData;
  40. $this->_coreRegistry = $registry;
  41. parent::__construct($context, $data);
  42. }
  43. /**
  44. * @param \Magento\Sales\Model\AbstractModel $model
  45. * @return string
  46. */
  47. public function getWindowUrl($model)
  48. {
  49. return $this->_shippingData->getTrackingPopupUrlBySalesModel($model);
  50. }
  51. /**
  52. * Retrieve current order model instance
  53. *
  54. * @return \Magento\Sales\Model\Order
  55. */
  56. public function getOrder()
  57. {
  58. return $this->_coreRegistry->registry('current_order');
  59. }
  60. }