*/
class Mage_Adminhtml_Block_Customer_Grid_Renderer_Multiaction
extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Action
{
/**
* Renders column
*
* @param Varien_Object $row
* @return string
*/
public function render(Varien_Object $row)
{
$html = '';
$actions = $this->getColumn()->getActions();
if (!empty($actions) && is_array($actions)) {
$links = array();
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 Varien_Object $row
* @return string
*/
protected function _toLinkHtml($action, Varien_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());
} else {
$style = 'style="color: #CCC;"';
$onClick = '';
}
return sprintf('%s', $action['url'], $style, $onClick, $action['caption']);
} else {
return parent::_toLinkHtml($action, $row);
}
}
}