*/ class Multiaction extends \Magento\Backend\Block\Widget\Grid\Column\Renderer\Action { /** * Renders column * * @param \Magento\Framework\DataObject $row * @return string */ public function render(\Magento\Framework\DataObject $row) { $html = ''; $actions = $this->getColumn()->getActions(); if (!empty($actions) && is_array($actions)) { $links = []; foreach ($actions as $action) { if (is_array($action)) { $link = $this->_toLinkHtml($action, $row); if ($link) { $links[] = $link; } } } $html = implode('
', $links); } if ($html == '') { $html = ' '; } return $html; } /** * Render single action as link html * * @param array $action * @param \Magento\Framework\DataObject $row * @return string|false */ protected function _toLinkHtml($action, \Magento\Framework\DataObject $row) { $product = $row->getProduct(); if (isset($action['process']) && $action['process'] == 'configurable') { if ($product->canConfigure()) { $style = ''; $onClick = sprintf('onclick="return %s.configureItem(%s)"', $action['control_object'], $row->getId()); return sprintf('%s', $action['url'], $style, $onClick, $action['caption']); } else { return false; } } else { return parent::_toLinkHtml($action, $row); } } }