1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Customer\Block\Adminhtml\Grid\Renderer;
- /**
- * Adminhtml customers wishlist grid item action renderer for few action controls in one cell
- *
- * @author Magento Core Team <core@magentocommerce.com>
- */
- 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('<br />', $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('<a href="%s" %s %s>%s</a>', $action['url'], $style, $onClick, $action['caption']);
- } else {
- return false;
- }
- } else {
- return parent::_toLinkHtml($action, $row);
- }
- }
- }
|