首页 > 解决方案 > Magento 1.9 网格中的字符串替换

问题描述

我制作了一个自定义网格,我在其中对价格、折扣和金额列进行了概述。小数点用点 (32.400) 分隔。

将点更改为逗号的最佳方法是什么(32,400)。

我已经尝试过属性(价格、数字、货币),但这些并没有改变 de dot。

样本:

$this->addColumn('price_total', array(
        'header' => $helper->__('Total'),
        'type'   => 'price',
        'index'  => 'Total'
    ));

编辑:

谢谢Sunil,在您的帮助下,我想通了!如果有人可能感兴趣,这就是我的做法。

我在 (app/code/local/SML/Exportorders/Block/Adminhtml/Sales/Order/Grid.php) Grid.php 中的课程

class SML_Exportorders_Block_Adminhtml_Sales_Order_Grid extends Mage_Adminhtml_Block_Widget_Grid
{
public function __construct()
{
    parent::__construct();
    $this->setId('sml_order_grid');
    $this->setDefaultSort('increment_id');
    $this->setDefaultDir('DESC');
    $this->setSaveParametersInSession(true);
    $this->setUseAjax(true);
}

protected function _prepareCollection()
{...

定义列:

$this->addColumn('sub_total', array(
        'header' => $helper->__('Sub Total'),
        'type'   => 'text',
        'index'  => 'SubTotal',
        'renderer' => 'sml_exportorders/adminhtml_sales_order_renderer_replace'
    ));

然后我按照 Sunil 的建议创建了一个渲染器文件。

app/code/local/SML/Exportorders/Block/Adminhtml/Sales/Order/Renderer/Replace.php

class SML_Exportorders_Block_Adminhtml_Sales_Order_Renderer_Replace extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract {
public function render(Varien_Object $row) {
$value =  $row->getData($this->getColumn()->getIndex());

return str_replace('.', ',', $value);

}}

标签: magento

解决方案


Radia,请查看我的以下链接以获取选项

Magento:西班牙语显示点而不是逗号的十进制价格

这将改变 . 到,网站上的任何地方,如果仅需要此特定列,您可以使用

str_replace(',', '.', $form);

在输出的渲染器中


推荐阅读