在Magento Grid中编辑项目时没有删除按钮

时间:2012-08-24 14:29:42

标签: magento

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

我不确定要查看哪个文件,因此我不知道必须在此处发布哪些代码。如果我把所有文件中的所有代码都放了,那就太多了。请指教。

更新:不确定原因,但现在 SAVE 按钮不再重新创建。所以我可以安静地编辑一个项目。但是, DELETE 按钮仍然缺失。

4 个答案:

答案 0 :(得分:11)

游戏后期,但希望这会对Google员工有所帮助。

您的_objectId属性是否已正确设置为网址中的相应参数?

$this->_objectId = 'id';

ID指的是URL的这一部分:

/模块/ adminhtml_controller /编辑/的 ID / 1 /

查看父类Mage_Adminhtml_Block_Widget_Form_Container::__construct

...
$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为空,则不会添加删除按钮。

答案 1 :(得分:4)

在挣扎之后,罪魁祸首是因为我把parent :: __ construct();在顶部(在__construct()方法之后。相反,它应该放在$ this-> _controller行之后.Geezz ......

答案 2 :(得分:1)

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

重命名“添加新按钮”

以下是将“添加新”文字重命名为您需要的任何内容的步骤(例如,“添加报告”): -

  • 转到YourNamespace - > YourModule - >阻止 - > Adminhtml - > YourFile.ph enter code here P
  • 在此文件的构造函数中添加以下代码: -

    $ this-> addButtonLabel = Mage :: helper('yourmodulename') - > _ ('添加报告');

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

  • 转到YourNamespace - > YourModule - >阻止 - > Adminhtml - > YourFile.php
  • 在此文件的构造函数中添加以下代码(它应该在对父构造函数的调用之下): -

    父:: __构建体(); $这 - > _removeButton( '添加');

在edit.php中

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

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

答案 3 :(得分:0)

试试你的Grid.php:

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