Php Magento自定义网格删除操作不起作用

Php Magento自定义网格删除操作不起作用,php,magento,zend-framework,magento-1.9,Php,Magento,Zend Framework,Magento 1.9,我有一个Magento自定义网格,它显示了当有人单击“删除”操作时我要删除的产品列表。我已经编写了下面的操作代码,但每次单击“删除”时它都不起作用。当使用url(*/*/delete)时,它会显示404页,当我将url更改为(*/*/../../../../admin/catalog\u product/delete)时,它会转到仪表板页,但没有删除我的产品: $this->addColumn('action', array( 'he

我有一个Magento自定义网格,它显示了当有人单击“删除”操作时我要删除的产品列表。我已经编写了下面的操作代码,但每次单击“删除”时它都不起作用。当使用url
(*/*/delete)
时,它会显示404页,当我将url更改为
(*/*/../../../../admin/catalog\u product/delete)
时,它会转到仪表板页,但没有删除我的产品:

$this->addColumn('action',
            array(
                'header'    => 'Action',
                'width'     => '100px',
                'type'      => 'action',
                'getter'    => 'getId',
                'actions'   => array(
                    array(
                        'url'       => array('base'=> '*/*/edit'),
                        'field'     => 'id'
                    )
                )
            )
        )

此问题的任何解决方案都将对我非常有用。

您尚未创建删除操作,请尝试将上述代码修改为:

$this->addColumn('action',
            array(
                'header'    => 'Action',
                'width'     => '100px',
                'type'      => 'action',
                'getter'    => 'getId',
                'actions'   => array(
                    array(
                        'url'       => array('base'=> '*/*/edit'),
                        'field'     => 'id'
                    ),
                    array(
                        'url'       => array('base'=> '*/*/delete'),
                        'field'     => 'id'
                    )
                )

我认为问题出在url制作上,试着按照下面的操作制作url

注意:根据url参数替换参数id,根据helper中的模块名称替换模块名称

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

                        array(
                        'caption' => Mage::helper('module_name')->__('Delete'),
                        'url'     => array(
                        'base'=>'*/*/delete',
                        'params'=> array('id'=>$this->getRequest()->getParam('param_id'))
                        ),'field'   => 'id'
                        )

                        ),

这不起作用。。。当我点击它时,一个空白页打开了。。。其中as product也没有被删除我正在这样做getParam('*/*/../../../admin/catalog_product/delete')这也不起作用,或者我做错了什么。您好,Andrew,在getParam中,您必须定义模块的主键,这将有助于确定要删除的记录。所以试着像'params'=>array('id'=>this->getRequest()->getParam('primary_key'))。按照上面我定义的操作进行操作,我确信这对您有用。定义上述代码后,请确保您在模块的管理端控制器中定义了deleteAction()方法。谢谢。。。它在不使用参数的情况下工作。。。我只需要在中定义deleteaction()controller@AndrewHall如果你发现答案是有用的,那么就要考虑投票或接受答案。