/** * 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); }
protected function _prepareLayout() { $this->js->add(<<<JS window.M2eProVarienGridAction = { execute: function (select, id) { if(!select.value || !select.value.isJSON()) { return; } var config = select.value.evalJSON(); if (config.onclick_action) { var method = config.onclick_action + '('; if (id) { method = method + id; } method = method + ')'; eval(method); select.value = ''; } else { varienGridAction.execute(select); } } }; JS ); return parent::_prepareLayout(); }
/** * Renderer for "Action" column in Newsletter templates grid * * @param \Magento\Framework\Object $row * @return string */ public function render(\Magento\Framework\Object $row) { if ($row->isValidForSend()) { $actions[] = ['url' => $this->getUrl('*/queue/edit', ['template_id' => $row->getId()]), 'caption' => __('Queue Newsletter')]; } $actions[] = ['url' => $this->getUrl('*/*/preview', ['id' => $row->getId()]), 'popup' => true, 'caption' => __('Preview')]; $this->getColumn()->setActions($actions); return parent::render($row); }
/** * Render single action as link html * * @param array $action * @param \Magento\Framework\Object $row * @return string|false */ protected function _toLinkHtml($action, \Magento\Framework\Object $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('<a href="%s" %s %s>%s</a>', $action['url'], $style, $onClick, $action['caption']); } else { return false; } } else { return parent::_toLinkHtml($action, $row); } }
/** * Renders column * * @param \Magento\Framework\Object $row * @return string */ public function render(\Magento\Framework\Object $row) { $actions = []; if ($row->getQueueStatus() == \Magento\Newsletter\Model\Queue::STATUS_NEVER) { if (!$row->getQueueStartAt() && $row->getSubscribersTotal()) { $actions[] = ['url' => $this->getUrl('*/*/start', ['id' => $row->getId()]), 'caption' => __('Start')]; } } elseif ($row->getQueueStatus() == \Magento\Newsletter\Model\Queue::STATUS_SENDING) { $actions[] = ['url' => $this->getUrl('*/*/pause', ['id' => $row->getId()]), 'caption' => __('Pause')]; $actions[] = ['url' => $this->getUrl('*/*/cancel', ['id' => $row->getId()]), 'confirm' => __('Do you really want to cancel the queue?'), 'caption' => __('Cancel')]; } elseif ($row->getQueueStatus() == \Magento\Newsletter\Model\Queue::STATUS_PAUSE) { $actions[] = ['url' => $this->getUrl('*/*/resume', ['id' => $row->getId()]), 'caption' => __('Resume')]; } $actions[] = ['url' => $this->getUrl('*/*/preview', ['id' => $row->getId()]), 'caption' => __('Preview'), 'popup' => true]; $this->getColumn()->setActions($actions); return parent::render($row); }
/** * @param \Magento\Framework\DataObject $row * @return string */ public function render(\Magento\Framework\DataObject $row) { $this->getColumn()->setActions([['url' => $this->getUrl('adminhtml/sitemap/generate', ['sitemap_id' => $row->getSitemapId()]), 'caption' => __('Generate')]]); return parent::render($row); }