GridContainer.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\UrlRewrite\Block;
  7. /**
  8. * @api
  9. * @since 100.0.2
  10. */
  11. class GridContainer extends \Magento\Backend\Block\Widget\Grid\Container
  12. {
  13. /**
  14. * Part for generating appropriate grid block name
  15. *
  16. * @var string
  17. */
  18. protected $_controller = 'url_rewrite';
  19. /**
  20. * @var \Magento\UrlRewrite\Block\Selector
  21. */
  22. protected $_urlrewriteSelector;
  23. /**
  24. * @param \Magento\Backend\Block\Widget\Context $context
  25. * @param Selector $urlrewriteSelector
  26. * @param array $data
  27. */
  28. public function __construct(
  29. \Magento\Backend\Block\Widget\Context $context,
  30. \Magento\UrlRewrite\Block\Selector $urlrewriteSelector,
  31. array $data = []
  32. ) {
  33. $this->_urlrewriteSelector = $urlrewriteSelector;
  34. parent::__construct($context, $data);
  35. }
  36. /**
  37. * Set custom labels and headers
  38. *
  39. * @return void
  40. */
  41. protected function _construct()
  42. {
  43. $this->_headerText = __('URL Rewrite Management');
  44. $this->_addButtonLabel = __('Add URL Rewrite');
  45. parent::_construct();
  46. }
  47. /**
  48. * Customize grid row URLs
  49. *
  50. * @return string
  51. */
  52. public function getCreateUrl()
  53. {
  54. $url = $this->getUrl('adminhtml/*/edit');
  55. $selectorBlock = $this->getSelectorBlock();
  56. if ($selectorBlock === null) {
  57. $selectorBlock = $this->_urlrewriteSelector;
  58. }
  59. if ($selectorBlock) {
  60. $modes = array_keys($selectorBlock->getModes());
  61. $url .= reset($modes);
  62. }
  63. return $url;
  64. }
  65. }