Magento 1.7 - 在没有小数的网格中显示订单数量

时间:2013-01-09 13:39:24

标签: magento magento-1.7

我在订单项的订购部分的网格中有此列定义:

        $this->addColumn('qty_ordered',
        array(
            'header'=> $this->__('Quantity'),
            'align' =>'right',
            'type=' => 'number',
            'index' => 'qty_ordered'
        )
    );

xxx http://img688.imageshack.us/img688/6690/scr031.jpg

如何显示没有任何小数的数量?

2 个答案:

答案 0 :(得分:2)

执行此操作的一种方法是创建自定义模块

$this->addColumn('qty_ordered',
    array(
        'header'=> $this->__('Quantity'),
        'align' =>'right',
        'type=' => 'number',
        'index' => 'qty_ordered'
        'renderer' = new MageIgniter_RemoveQtyDecimals_Block_Adminhtml_Renderer_Date()
    )
);


 class MageIgniter_RemoveQtyDecimals_Block_Adminhtml_Renderer_Date extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Action
 {
    public function render(Varien_Object $row)
     {
         return $this->_getValue($row);
     }

     public function _getValue(Varien_Object $row)
     {
         $val = $row->getData($this->getColumn()->getIndex());
         return intval($val);

     } 
 }

请参阅https://stackoverflow.com/a/12695286/1191288

答案 1 :(得分:1)

我修改了sku数组定义而不是创建qty_ordered。

$collection = Mage::getResourceModel($this->_getCollectionClass())
    ->join(
    'sales/order_item',
    '`sales/order_item`.order_id=`main_table`.entity_id',
        array(
            'skus'  => new Zend_Db_Expr('group_concat( `sales/order_item`.sku, "(", floor(`sales/order_item`.qty_ordered), ")" SEPARATOR ", ")'),
        ));

我相信你可以在你的qty_ordered定义中使用floor(sales/order_item。qty_ordered)。

订单网格上的

SKU列结果如下: MBA001(2),MOF004(1)