Làm thế nào để loại bỏ nút lưu và thiết lập lại từ hình thức chỉnh sửa?


7

Trong mô-đun tùy chỉnh tôi có một lưới. trong lưới đó tôi không muốn chỉnh sửa dữ liệu từ bảng quản trị. Tôi muốn chỉ xem dữ liệu đó vì vậy tôi muốn loại bỏ nút lưu và nút đặt lại.

Trong Edit.php

public function __construct()
{
    parent::__construct();
    $this->_objectId = "example_id";
    $this->_blockGroup = "example";
    $this->_controller = "adminhtml_example";
    // $this->_updateButton("save", "label", Mage::helper("example")->__("Save Tutor"));
    $this->_updateButton("delete", "label", Mage::helper("example")->__("Delete Tutor"));

    /**
    $this->_addButton("saveandcontinue", array(
        "label"     => Mage::helper("example")->__("Save And Continue Edit"),
        "onclick"   => "saveAndContinueEdit()",
        "class"     => "save",
    ), -100);

    $this->_formScripts[] = "
        function saveAndContinueEdit() {
            editForm.submit($('edit_form').action+'back/edit/');
        }
    ";
    */
}   

Tôi đang nhận xét mã của nút lưu và nút saveAndContinueEdit nhưng nút lưu được hiển thị.

Tôi biết một cách khác để quản trị viên không thể lưu dữ liệu bằng cách sử dụng vô hiệu hóa là đúng trong tất cả các trường bổ sung nhưng tôi muốn xóa nút thêm và nút đặt lại nếu có thể và tôi muốn xóa nút này bằng mô-đun tùy chỉnh.

Câu trả lời:


13

Thêm điều này trong phương pháp bạn đã đề cập

$this->_removeButton('save');
$this->_removeButton('delete');
$this->_removeButton('reset');

4

Lưu ý rằng Magento không muốn bạn ghi đè __constructphương thức . Bạn nên ghi đè _constructphương thức thay thế. Một vấn đề là bạn không thể loại bỏ các nút trong _constructphương thức. Nhưng bạn chỉ có thể ghi đè _prepareLayoutphương thức cho mục đích đó:

protected function _prepareLayout()
{
    $this->_removeButton('save');
    $this->_removeButton('delete');
    $this->_removeButton('reset');

    return parent::_prepareLayout();
}

1
Điều đó đúng, nhưng có rất nhiều lớp cốt lõi ghi đè __constructphương thức.
Marius

1
Các lớp @Marius Core thường không tốt như một tài liệu tham khảo cho phong cách mã tốt Tôi nghĩ: D
Simon

3

Để loại bỏ các nút trên mẫu quản trị MAGENTO 2:

$this->buttonList->remove('delete');
$this->buttonList->remove('save');
$this->buttonList->remove('reset');
$this->buttonList->remove('back');
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.