По сути, есть два способа сделать это.Добавьте поле в коллекцию и получите данные из базы данных или рассчитайте их в PHP на основе 3 значений, возвращаемых из БД.Делать первый путь с коллекцией Magento было бы, на мой взгляд, слишком сложно.вместо этого вы хотите использовать Renderer (Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
)
Сначала, внутри папки Block/Adminhtml
вашего плагина, создайте новую папку с именем Renderer.Внутри него создайте новый файл с именем CostSum.php
со следующим содержимым:
<?php
class Company_Module_Block_Adminhtml_Renderer_CostSum extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
{
public function render(Varien_Object $row)
{
return $row->getStampCost() + $row->getInkCost() + $row->getFormCost();
}
}
Затем в сетке создайте новый столбец
$this->addColumn('cost_total', array(
'header' => Mage::helper('imprint')->__('Stamp Cost'),
//'index' => 'Im not sure this is necessary',
'type' => 'price',
'currency_code' => $store->getBaseCurrency()->getCode(),
'renderer' => new Company_Module_Block_Adminhtml_Renderer_CostSum()
));
Надеюсь, это поможет!