magento管理员在按摩后重定向回模块的主页面

时间:2013-12-13 00:31:03

标签: php magento

将massAction添加到新的Magento Admin模块后,我被重定向到该模块的主页面而不是我上次的位置。

作为一个例子:我有一个月的下拉菜单,所以我选择“十一月”,然后我从分页中选择“第3页”。然后当我选择并针对一个或多个项目执行操作时,我会被重定向回当前月份,第1页。

我在这篇文章中添加了massAction:http://inchoo.net/ecommerce/magento/how-to-add-massactions-to-magentos-grid/ 以下是我最终的结果:

protected function _prepareMassaction()
{
    parent::_prepareMassaction();

    $this->setMassactionIdField('entity_id');
    $this->getMassactionBlock()->setFormFieldName('value_id');

    $this->getMassactionBlock()->addItem('deactivate', array(
        'label'     => Mage::helper('renewals')->__('Deactivate'),
        'url'       => $this->getUrl('*/*/massDeactivate'),
        'confirm'   => Mage::helper('renewals')->__('Are you sure you want to deactivate these accounts?'),
    ));

    return $this;
}

和我的控制器数据:

public function massDeactivateAction()
{
    $value_ids = $this->getRequest()->getParam('value_id');

    $helper = Mage::helper('helper/data');
    foreach ($value_ids as $value_id) {
        $helper->deactivateValue($value_id);
    }

    $this->_redirect('*/*/index');
    return;
}

任何想法会导致这种情况不会停留在我当前的页面上? 它正在管理产品页面上工作,但有趣的是,当我点击页面时,页码不会进入URL,因此当我使用GET时,它似乎是通过POST或某个特定页面上的内容提交的。我不确定这是否与问题有关。

1 个答案:

答案 0 :(得分:1)

看看@ Custom Module with Custom Database Table

看看你的Grid.php,你是$this->setSaveParametersInSession(true)还是$this->setUseAjax(true);

class <Namespace>_<Module>_Block_Adminhtml_<Module>_Grid extends Mage_Adminhtml_Block_Widget_Grid
{
    public function __construct()
    {
        parent::__construct();
        ....
        $this->setSaveParametersInSession(true);
        $this->setUseAjax(true);
    }