1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Backend\Model\Menu\Builder\Command;
- /**
- * Builder command to add menu items
- * @api
- * @since 100.0.2
- */
- class Add extends \Magento\Backend\Model\Menu\Builder\AbstractCommand
- {
- /**
- * List of params that command requires for execution
- *
- * @var string[]
- */
- protected $_requiredParams = ["id", "title", "module", "resource"];
- /**
- * Add command as last in the list of callbacks
- *
- * @param \Magento\Backend\Model\Menu\Builder\AbstractCommand $command
- * @return $this
- * @throws \InvalidArgumentException
- */
- public function chain(\Magento\Backend\Model\Menu\Builder\AbstractCommand $command)
- {
- if ($command instanceof \Magento\Backend\Model\Menu\Builder\Command\Add) {
- throw new \InvalidArgumentException("Two 'add' commands cannot have equal id (" . $command->getId() . ")");
- }
- return parent::chain($command);
- }
- /**
- * Add missing data to item
- *
- * @param array $itemParams
- * @return array
- */
- protected function _execute(array $itemParams)
- {
- foreach ($this->_data as $key => $value) {
- $itemParams[$key] = isset($itemParams[$key]) ? $itemParams[$key] : $value;
- }
- return $itemParams;
- }
- }
|