gpt4 book ai didi

马杰托。为什么在管理网格中,即使使用 addColumnAfter,列也总是显示在最后

转载 作者:行者123 更新时间:2023-12-04 05:07:27 24 4
gpt4 key购买 nike

我创建了一个观察者,它向管理中的时事通讯网格添加了一个字段,如下所示:

public function AddItemColumnToGrid($observer)
{
...
if ($_type == 'adminhtml/newsletter_subscriber_grid') {

$_block->addColumnAfter('subscriber_name', array(
'header'=> Mage::helper('newsletter')->__('Name'),
'type' => 'text',
'index' => 'subscriber_name',
), 'subscriber_email');
}
...
}

我想不通。但是 Magento 总是在最后显示我的 Subscriber_name 字段(作为顺序中的最后一个)。 ColumnAfter 不起作用。为什么?

我在意这个:
        <events>
<adminhtml_block_html_before>

最佳答案

这是因为排序发生在您连接到 HTML 生成之前:

Mage_Adminhtml_Block_Widget_Grid:

protected function _beforeToHtml()
{
$this->_prepareGrid(); // <-- sort columns
return parent::_beforeToHtml(); // <-- dispatch event
}

您可以做的是在添加列后再次排序:
    $_block->addColumnAfter('subscriber_name', array(
'header'=> Mage::helper('newsletter')->__('Name'),
'type' => 'text',
'index' => 'subscriber_name',
), 'subscriber_email');
$_block->sortColumnsByOrder();

关于马杰托。为什么在管理网格中,即使使用 addColumnAfter,列也总是显示在最后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15341963/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com