我已经成功创建了我的第一个管理网格。添加新项目时,它可以正常工作。但是,当我想编辑一个项目时,奇怪的是,缺少 DELETE 按钮。更糟糕的是,当我单击 SAVE 按钮时,它会创建一个新项而不是保存当前项。我做错了什么?
我不确定要查看哪个文件,因此我不知道必须在此处发布哪些代码。如果我把所有文件中的所有代码都放了,那就太多了。请指教。
更新:不确定原因,但现在 SAVE 按钮不再重新创建。所以我可以安静地编辑一个项目。但是, DELETE 按钮仍然缺失。
答案 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中删除或重命名添加新保存继续删除按钮 如果您不想在网格中显示“添加新”按钮。 “添加新”按钮位于网格页面的右上角。
重命名“添加新按钮”
以下是将“添加新”文字重命名为您需要的任何内容的步骤(例如,“添加报告”): -
enter code here
P 在此文件的构造函数中添加以下代码: -
$ this-> addButtonLabel = Mage :: helper('yourmodulename') - > _ ('添加报告');
删除“添加新”按钮 以下是删除“添加新”按钮的步骤: -
在此文件的构造函数中添加以下代码(它应该在对父构造函数的调用之下): -
父:: __构建体(); $这 - > _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()));
}