在Magento网格中编辑项目时没有“删除”按钮

在Magento网格中编辑项目时没有“删除”按钮,magento,Magento,我已经成功地创建了我的第一个管理网格。添加新项目时,它可以正常工作。然而,当我想编辑一个项目时,奇怪的是,删除按钮不见了。更糟糕的是,当我单击“保存”按钮时,它会创建一个新项目,而不是保存当前项目。我做错了什么 我不确定要查看什么文件,因此我不知道必须在这里发布哪些代码。如果我把所有文件中的代码都放进去,那就太多了。请告知 更新:不知道为什么,但现在保存按钮不再重新创建。所以我可以和平地编辑一个项目。但是,删除按钮仍然丢失。在Grid.php上尝试: public function ge

我已经成功地创建了我的第一个管理网格。添加新项目时,它可以正常工作。然而,当我想编辑一个项目时,奇怪的是,删除按钮不见了。更糟糕的是,当我单击“保存”按钮时,它会创建一个新项目,而不是保存当前项目。我做错了什么

我不确定要查看什么文件,因此我不知道必须在这里发布哪些代码。如果我把所有文件中的代码都放进去,那就太多了。请告知

更新:不知道为什么,但现在保存按钮不再重新创建。所以我可以和平地编辑一个项目。但是,删除按钮仍然丢失。

在Grid.php上尝试:

    public function getRowUrl($row){
    return $this->getUrl('*/*/form', array('id' => $row->getId()));
}

经过周旋之后,罪魁祸首是因为我将父项::u construct();在顶部(就在_construct()方法之后。相反,它应该放在游戏后期的$this->\u控制器行。Geezz…

之后,但希望这对谷歌用户有所帮助

您的
\u objectId
属性是否正确设置为URL中的相应参数

$this->\u objectId='id';

其中ID指URL的这一部分:

/模块/adminhtml\u控制器/edit/id/1/

请参阅父类Mage\u Adminhtml\u Block\u Widget\u Form\u Container::\u构造:

...
$objId = $this->getRequest()->getParam($this->_objectId);

        if (! empty($objId)) {
            $this->_addButton('delete', array(
                'label'     => Mage::helper('adminhtml')->__('Delete'),
                'class'     => 'delete',
                'onclick'   => 'deleteConfirm(\''. Mage::helper('adminhtml')->__('Are you sure you want to do this?')
                    .'\', \'' . $this->getDeleteUrl() . '\')',
            ));
        }
...

我们可以看到,如果
$objId
为空,则不会添加删除按钮。

***从magento admin删除或重命名添加新的保存继续删除按钮 如果不想在网格中显示“添加新”按钮,则“添加新”按钮位于网格页面的右上角

重命名“添加新”按钮

以下是将“添加新”文本重命名为所需内容(例如“添加报告”)的步骤:-

  • 进入你的名称空间->你的模块->块->管理员HTML->你的文件.ph
    在这里输入代码
    p
  • 在此文件的构造函数中添加以下代码:-

    $this->addButtonLabel=Mage::helper('yourmodulename')->(addReport')

删除“添加新”按钮 以下是删除“添加新”按钮的步骤:-

  • 转到您的命名空间->您的模块->块->Adminhtml->YourFile.php
  • 在该文件的构造函数中添加以下代码(应位于对父构造函数的调用下方):-

    父项::_构造(); $this->_removeButton('add')

edit.php中的

parent::__construct();
$this->_removeButton('delete');
$this->_removeButton('save');
$this->_removeButton('back');
parent::__construct();
$this->_removeButton('add');
在grid.php中

parent::__construct();
$this->_removeButton('delete');
$this->_removeButton('save');
$this->_removeButton('back');
parent::__construct();
$this->_removeButton('add');

也许你可以放置一些包含代码的链接,非常确定你需要发布的是你的控制器,包含edit.php、form.phpThanks的块,以供回复。我已经放置了这样的函数,只是它指的是“edit”而不是“form”.无论如何,我尝试了你的建议,但结果更糟。我得到了404错误。所以我放回了我原来的函数。在我的情况下,情况正好相反。父对象的位置::u construct();也导致了同样的问题。我请客了。谢谢你+1个好的+1:)对删除很好,现在我理解了我以前不理解的id参数。不幸的是,当编辑“保存”按钮转到空白页时,保存未被存储。@Alex您是否打开了开发人员模式?您的控制器可能有错误,可能是内存耗尽错误。打开它以获取更多详细信息,或检查web服务器错误日志。