Lỗi hiển thị Magento2.1.0 Tham số bắt buộc 'theme_dir' không được thông qua khi lưu sản phẩm trong quản trị viên


17

Tôi gặp phải lỗi này Tham số bắt buộc 'theme_dir' không được thông qua khi tôi cố lưu sản phẩm trong quản trị viên. Tôi đã kiểm tra cấu hình chủ đề nó được gán cho các cửa hàng. Gần đây tôi đã nâng cấp từ 2.0.7 lên 2.1.0. Ngoài ra, tôi đã kiểm tra tập tin đăng ký chủ đề . Bất cứ ai cũng gặp phải vấn đề này.

Câu trả lời:


42

Lỗi này xuất hiện khi bạn xóa một thư mục mẫu, vẫn được tham chiếu trong cơ sở dữ liệu. Cách đơn giản nhất để khắc phục nó là, đi đến cơ sở dữ liệu và trong bảng 'theme', tìm tên chủ đề không tồn tại app/design/frontend/package.

DELETE các tham chiếu đến chủ đề còn thiếu từ bảng.


Đây phải là câu trả lời được chấp nhận.
seanbreeden

HOÀN HẢO ..
LÀM VIỆC

Đây phải là câu trả lời được chấp nhận.
Daan van den Bergh

2 bản ghi đã được thêm vào cơ sở dữ liệu của tôi. Tôi đã xóa BUt vẫn không hoạt động
HaFiz Umer

10

Tôi có thể xác nhận rằng câu trả lời của Vũ Anh hoạt động. Đây là một lời giải thích tại sao điều này xảy ra khi các sản phẩm được lưu , mặc dù chủ đề bị xóa không được sử dụng ở đâu:

Sau khi lưu sản phẩm, bộ đệm hình ảnh được tạo lại cho tất cả các chủ đề. Mỗi chủ đề có thể có các định dạng kích thước hình ảnh riêng, được xác định trong etc/view.xmlvà tất cả các định dạng này sẽ được tạo.

Nhưng thay vì tìm kiếm các chủ đề được cấu hình trong tất cả các cửa hàng, Magento đi qua tất cả các chủ đề trong themebảng.

Nếu bạn không gỡ cài đặt đúng chủ đề và chỉ xóa các tệp, mục nhập mồ côi đề cập đến một đường dẫn không tồn tại và ngoại lệ được mô tả sẽ bị ném.


2

Tôi có cùng một lỗi Tham số bắt buộc 'theme_dir' không được thông qua . Tôi làm việc với 2.1.0 ngay từ đầu chứ không phải cập nhật. Và tôi có một "phong cách" thuộc tính sản phẩm.

Vấn đề xảy ra khi tôi cố lưu ảnh mới trong tài liệu. Không có hình ảnh, sản phẩm lưu bình thường.

Khắc phục với nhận xét ngoại lệ trong tệp:

vendor/magento/framework/view/design/Fallbck/Rule/Simple.php  

Nó làm việc cho tôi. Nhưng tôi nghĩ đó là một hack.


Đây chắc chắn là một hack. Khắc phục sự cố thay vì loại bỏ ngoại lệ.
Daan van den Bergh

-2

Cuối cùng tôi đã sửa nó bằng cách bình luận ngoại lệ dưới vendor/magento/framework/View/Design/Fallback/Rule/Simple.php.

if (in_array($placeholder, $this->optionalParams)) {
    return [];
} else {
    return [];
    //throw new \InvalidArgumentException("Required parameter '{$placeholder}' was not passed");
}

4
Nhưng điều này không sửa lỗi, chỉ không hiển thị nó nữa. (Tôi nghĩ giải pháp của Vũ Anh là một sửa chữa nhiều hơn)
BvdVen

3
Đây không phải là cách đúng đắn để khắc phục vấn đề này! Kiểm tra câu trả lời từ Vũ Anh.
medina

2
Đây không phải là một giải pháp tốt nhất. Xin đừng làm điều này
Ankit Shah
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.