Lỗi nghiêm trọng của PHP: Gọi tới hàm thành viên setData () trên một đối tượng không có trong Quyền / BlockControll.php trên dòng 113 - Sau khi áp dụng SUPEE-6788


7

Lỗi nghiêm trọng của PHP sau khi áp dụng SUPEE-6788:

Gọi tới hàm thành viên setData () trên một đối tượng không phải trong ứng dụng / code / core / Mage / adminhtml / controls / Rights / BlockContoder.php trên dòng 113

Đầu tiên tôi không thể áp dụng các bản vá SUPEE-6788. Nó nói rằng

-e ERROR: Patch không thể được áp dụng / hoàn nguyên thành công

Thực hiện theo các bước được cung cấp trong liên kết " Tại sao PATCH_SUPEE-6788 dường như không có tác dụng đối với cài đặt 1.7.0.2? " Và sau đó tôi đã có thể áp dụng bản vá.

Nhưng một số khối Magento bị thiếu tại Trang chủ. Sau một thời gian dài tìm kiếm trên Google tôi thấy rằng chúng ta phải tạo các khối bên dướiSystem > Permissions > Blocks

Nhưng tôi không thể truy cập nó, vì một số bảng không được tạo ( permission_block and permission_variable )

Vấn đề này đã được giải quyết bằng quy trình sau ( Bảng allow_block và allow_variable không được tạo sau SUPEE-6788 )

Nhưng bây giờ tôi không thể chỉnh sửa hoặc tạo khối theo quyền, Chỉ hiển thị danh sách. Bắt lỗi đã đề cập ở trên


bạn đã giải quyết điều này ?? Tôi đang gặp vấn đề tương tự

Không chưa. Bạn đã tìm ra được giải pháp nào chưa?
Joseph Asir Raja

Câu trả lời:


7

ứng dụng / thiết kế / adminhtml / default / default / layout / admin.xml

Lỗi này được tạo khi bộ đệm bố cục chưa được cập nhật hoặc admin.xml bị thiếu đoạn mã sau.

<!-- admin permissions block edit page -->
<adminhtml_permissions_block_edit>
    <reference name="content">
        <block type="adminhtml/permissions_block_edit" name="adminhtml.permissions.block.edit"/>
    </reference>
</adminhtml_permissions_block_edit>
<!-- admin permissions variable edit page -->

Ngoài ra kiểm tra bằng adminhtml_permissions_role_editrole trong tập tin xml khác này. Nếu nó có mặt ở đó thì cũng cần phải cập nhật.
Mukesh

1

Người ta có thể tự thêm / chỉnh sửa / xóa các mục trong cơ sở dữ liệu. Bảng permission_blockchứa các cột block_id, block_name, is_allowednơi người ta có thể chỉ cần thêm một khối vào danh sách trắng bằng cách nhập tên và thiết lập is_allowedđể 1.

Không chính xác là một câu trả lời / giải pháp, thay vào đó là một cách giải quyết ....


1

Giải pháp dưới đây làm việc cho tôi: Trả lời mã dưới đây:

$this->getLayout()->getBlock('adminhtml.permissions.block.edit')
            ->setData('action', $this->getUrl('*/permissions_block/save'));

với

$this->getLayout()->createBlock('adminhtml/permissions_block_edit')
            ->setData('action', $this->getUrl('*/permissions_block/save'));

Làm tương tự cho VariableController.phpcùng dòng 113 .

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.