/** * Renders grid column * * @param Varien_Object $row * @return string */ public function render(Varien_Object $row) { if (!$row->getSkus()) { return ''; } $skus = explode('^', $row->getSkus()); $qtys = explode('^', $row->getQtys()); $names = explode('^', $row->getNames()); $html = ''; if (count($skus) != count($names) || count($skus) != count($qtys)) { return '<span style="color: red;">Error, missing product SKUs or names.</span>'; } switch ($this->getColumn()->getRenderColumn()) { case 'skus': foreach ($skus as $i => $sku) { if ($qtys[$i] == round($qtys[$i], 0)) { $html .= sprintf('<tr title="%s" style="cursor:default;"><td>%s</td><td style="width:1em;">%d</td></tr>', trim($names[$i]), $sku, trim($qtys[$i])); } else { $html .= sprintf('<tr title="%s" style="cursor:default;"><td>%s</td><td style="width:1em;">%.4f</td></tr>', trim($names[$i]), $sku, trim($qtys[$i])); } } break; case 'names': foreach ($skus as $i => $sku) { if ($qtys[$i] == round($qtys[$i], 0)) { $html .= sprintf('<tr title="%s" style="cursor:default;"><td>%s</td><td style="width:1em;">%d</td></tr>', $sku, trim($names[$i]), trim($qtys[$i])); } else { $html .= sprintf('<tr title="%s" style="cursor:default;"><td>%s</td><td style="width:1em;">%.4f</td></tr>', $sku, trim($names[$i]), trim($qtys[$i])); } } break; } return '<table style="border: 0; border-collapse: collapse;"><tbody>' . $html . '</tbody></table>'; }