*/ class Action extends \Magento\Backend\Block\Widget\Grid\Column\Renderer\Action { /** * Render grid column * * @param \Magento\Framework\DataObject $row * @return string */ public function render(\Magento\Framework\DataObject $row) { $actions = []; $actions[] = [ 'url' => $this->getUrl('adminhtml/*/preview', ['id' => $row->getId()]), 'popup' => true, 'caption' => __('Preview'), ]; $this->getColumn()->setActions($actions); return parent::render($row); } /** * Get escaped value * * @param string $value * @return string */ protected function _getEscapedValue($value) { return addcslashes(htmlspecialchars($value), '\\\''); } /** * Convert actions to html * * @param array $actions * @return string */ protected function _actionsToHtml(array $actions) { $html = []; $attributesObject = new \Magento\Framework\DataObject(); foreach ($actions as $action) { $attributesObject->setData($action['@']); $html[] = 'serialize() . '>' . $action['#'] . ''; } return implode('  |  ', $html); } }