Magento网格列位置

Inf*_*rid 8 php magento

我正在通过添加这样的自定义列来编辑订单网格

$this->addColumn('pagamenti', array(
  'header'    => 'Paymentsource',
  'width'=>'50px',
  'align'     =>'left',
  'type'    => 'text',
  'renderer' => 'Blablabla_Adminhtml_Block_Sales_Order_Renderer_lol'
));
Run Code Online (Sandbox Code Playgroud)

但无论我在哪里调用addColumns,每列都位于表格的最右侧.

有没有办法强迫这个位置?

谢谢

Pet*_*han 29

你可以使用这个addColumnAfter功能.

$this->addColumnAfter('pagamenti', array(
  'header'    => 'Paymentsource',
  'width'=>'50px',
  'align'     =>'left',
  'type'    => 'text',
  'renderer' => 'Blablabla_Adminhtml_Block_Sales_Order_Renderer_lol'
), 'id_of_column_to_be_after');
Run Code Online (Sandbox Code Playgroud)

  • 请注意,在父母之前调用此命令的顺序可能很重要,请参阅Praful Rajput的答案 (2认同)

clo*_*eek 12

如果你曾经看过_prepareColumns你所覆盖的方法,你就会看到它调用sortColumnsByOrder.因此,如果您在此点之后添加一个列(可能是一个事件),您将需要执行以下操作:

$this->addColumnsOrder('pagamenti', 'real_order_id')
    ->sortColumnsByOrder();
Run Code Online (Sandbox Code Playgroud)