GenericButton.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\CatalogRule\Block\Adminhtml\Edit;
  7. use Magento\CatalogRule\Controller\RegistryConstants;
  8. class GenericButton
  9. {
  10. /**
  11. * Url Builder
  12. *
  13. * @var \Magento\Framework\UrlInterface
  14. */
  15. protected $urlBuilder;
  16. /**
  17. * Registry
  18. *
  19. * @var \Magento\Framework\Registry
  20. */
  21. protected $registry;
  22. /**
  23. * Constructor
  24. *
  25. * @param \Magento\Backend\Block\Widget\Context $context
  26. * @param \Magento\Framework\Registry $registry
  27. */
  28. public function __construct(
  29. \Magento\Backend\Block\Widget\Context $context,
  30. \Magento\Framework\Registry $registry
  31. ) {
  32. $this->urlBuilder = $context->getUrlBuilder();
  33. $this->registry = $registry;
  34. }
  35. /**
  36. * Return the current Catalog Rule Id.
  37. *
  38. * @return int|null
  39. */
  40. public function getRuleId()
  41. {
  42. $catalogRule = $this->registry->registry(RegistryConstants::CURRENT_CATALOG_RULE_ID);
  43. return $catalogRule ? $catalogRule->getId() : null;
  44. }
  45. /**
  46. * Generate url by route and parameters
  47. *
  48. * @param string $route
  49. * @param array $params
  50. * @return string
  51. */
  52. public function getUrl($route = '', $params = [])
  53. {
  54. return $this->urlBuilder->getUrl($route, $params);
  55. }
  56. /**
  57. * Check where button can be rendered
  58. *
  59. * @param string $name
  60. * @return string
  61. */
  62. public function canRender($name)
  63. {
  64. return $name;
  65. }
  66. }