@@ -74,16 +74,23 @@ class Menu extends \Magento\Backend\Block\Template
74
74
*/
75
75
private $ anchorRenderer ;
76
76
77
+ /**
78
+ * @var ConfigInterface
79
+ */
80
+ private $ routeConfig ;
81
+
77
82
/**
78
83
* @param Template\Context $context
79
84
* @param \Magento\Backend\Model\UrlInterface $url
80
85
* @param \Magento\Backend\Model\Menu\Filter\IteratorFactory $iteratorFactory
81
86
* @param \Magento\Backend\Model\Auth\Session $authSession
82
87
* @param \Magento\Backend\Model\Menu\Config $menuConfig
83
88
* @param \Magento\Framework\Locale\ResolverInterface $localeResolver
89
+ * @param \Magento\Framework\App\Route\ConfigInterface $routeConfig
84
90
* @param array $data
85
91
* @param MenuItemChecker|null $menuItemChecker
86
92
* @param AnchorRenderer|null $anchorRenderer
93
+ * @SuppressWarnings(PHPMD.ExcessiveParameterList)
87
94
*/
88
95
public function __construct (
89
96
\Magento \Backend \Block \Template \Context $ context ,
@@ -94,7 +101,8 @@ public function __construct(
94
101
\Magento \Framework \Locale \ResolverInterface $ localeResolver ,
95
102
array $ data = [],
96
103
MenuItemChecker $ menuItemChecker = null ,
97
- AnchorRenderer $ anchorRenderer = null
104
+ AnchorRenderer $ anchorRenderer = null ,
105
+ \Magento \Framework \App \Route \ConfigInterface $ routeConfig = null
98
106
) {
99
107
$ this ->_url = $ url ;
100
108
$ this ->_iteratorFactory = $ iteratorFactory ;
@@ -103,6 +111,9 @@ public function __construct(
103
111
$ this ->_localeResolver = $ localeResolver ;
104
112
$ this ->menuItemChecker = $ menuItemChecker ;
105
113
$ this ->anchorRenderer = $ anchorRenderer ;
114
+ $ this ->routeConfig = $ routeConfig ?:
115
+ \Magento \Framework \App \ObjectManager::getInstance ()
116
+ ->get (\Magento \Framework \App \Route \ConfigInterface::class);
106
117
parent ::__construct ($ context , $ data );
107
118
}
108
119
@@ -203,8 +214,9 @@ protected function _afterToHtml($html)
203
214
*/
204
215
protected function _callbackSecretKey ($ match )
205
216
{
217
+ $ routeId = $ this ->routeConfig ->getRouteByFrontName ($ match [1 ]);
206
218
return \Magento \Backend \Model \UrlInterface::SECRET_KEY_PARAM_NAME . '/ ' . $ this ->_url ->getSecretKey (
207
- $ match [ 1 ] ,
219
+ $ routeId ,
208
220
$ match [2 ],
209
221
$ match [3 ]
210
222
);
0 commit comments