我的自定义模块网格中有以下代码。

     $this->addColumn('action',
     array(
            'header'    =>  Mage::helper('module')->__('Action'),
            'width'     => '100',
            'type'      => 'action',
            'getter'    => 'getId',
            'actions'   => array(
                array(
                    'caption'   => Mage::helper('module')->__('Edit'),
                    'url'       => array('base'=> '*/*/edit'),
                    'field'     => 'id',
                )
            ),
            'filter'    => false,
            'sortable'  => false,
            'index'     => 'stores',
            'is_system' => true,
    ));


我想知道有什么方法可以在网格中获得新的吸气剂。我这样做的目的是在url中传递额外的参数。

通过使用这个,我得到以下编辑URL

http://domain.com/index.php/module/adminhtml_module/edit/id/5/key/a19618bbaa3ee98ed395bc2fa552de35/

如果将另一个getter附加到网址,例如
'getter'=>'getStoreId',

比我的网址应该像:

http://domain.com/index.php/module/adminhtml_module/edit/id/5/store/5/key/a19618bbaa3ee98ed395bc2fa552de35/

谁能指导我该怎么做?

我试图使用下面的代码,但是没有用。

    $this->addColumn('action',
     array(
            'header'    =>  Mage::helper('module')->__('Action'),
            'width'     => '100',
            'type'      => 'action',
            'getter'    => array('getId','getStoreId'),
            'actions'   => array(
                array(
                    'caption'   => Mage::helper('module')->__('Edit'),
                    'url'       => array('base'=> '*/*/edit'),
                    'field'     => array('id',store_id),
                )
            ),
            'filter'    => false,
            'sortable'  => false,
            'index'     => 'stores',
            'is_system' => true,
    ));

最佳答案

要将商店密钥添加到URL,请尝试将actions更改为

'actions'   => array(
    array(
        'caption' => Mage::helper('catalog')->__('Edit'),
        'url'     => array(
            'base'=>'*/*/edit',
            'params'=>array('store'=>$this->getRequest()->getParam('store'))
        ),
        'field'   => 'id'
    )
),


根据需要更新$this->getRequest()->getParam('store')

参考/app/code/core/Mage/Adminhtml/Block/Catalog/Product/Grid.php

$this->addColumn('action',
    array(
        'header'    => Mage::helper('catalog')->__('Action'),
        'width'     => '50px',
        'type'      => 'action',
        'getter'     => 'getId',
        'actions'   => array(
            array(
                'caption' => Mage::helper('catalog')->__('Edit'),
                'url'     => array(
                    'base'=>'*/*/edit',
                    'params'=>array('store'=>$this->getRequest()->getParam('store'))
                ),
                'field'   => 'id'
            )
        ),
        'filter'    => false,
        'sortable'  => false,
        'index'     => 'stores',
));

10-08 17:20