2 cách được Magento đề xuất để ghi đè hoặc mở rộng các kiểu từ chủ đề gốc:
1. Cách đơn giản
Mở rộng:
Trong thư mục chủ đề của bạn, tạo một web/css/source
thư mục con. (Bạn đã thực hiện phần này) Tạo một _extend.less
tệp ở đó.
Theo tài liệu :
"Mở rộng chủ đề bằng cách sử dụng _extend.less là tùy chọn đơn giản nhất khi bạn hài lòng với mọi thứ mà chủ đề gốc có, nhưng muốn thêm nhiều kiểu hơn."
Ghi đè:
Thay vì tạo _extend.less
tập tin, bạn tạo một _theme.less
tập tin. Trong trường hợp này, bạn cần sao chép tất cả các biến bạn cần từ cha mẹ _theme.less
, bao gồm cả các biến sẽ không được thay đổi. Sau đó thực hiện các thay đổi của bạn.
Theo tài liệu , nhược điểm là:
"Bạn cần theo dõi và cập nhật thủ công các tệp của mình bất cứ khi nào _theme.less của cha mẹ được cập nhật."
2. Cách cấu trúc
Mở rộng:
Phương pháp này cho phép bạn tổ chức mã của mình theo cách tốt hơn. Những thay đổi của bạn sẽ được cấu trúc. Thay vì sử dụng một tệp duy nhất _extend.less
để bao gồm tất cả các thay đổi của bạn, bạn tạo một tệp mở rộng cho từng thành phần từ thư viện UI Magento mà bạn muốn thay đổi.
Giả sử bạn muốn mở rộng kiểu từ nút và các thành phần điều hướng. Trong thư mục chủ đề của bạn tạo 2 tệp: _buttons_extend.less
và _navigation_extend.less
sau đó thêm các thay đổi của bạn cho từng thành phần trong tệp tương ứng.
Sau đó, bạn tạo _extend.less
tập tin thêm mã này:
@import '_buttons_extend.less';
@import '_navigation_extend.less';
Ghi đè:
Trong chủ đề của bạn, tạo một bản sao của tập tin tương ứng với các thành phần giao diện người dùng mà bạn muốn thay đổi ( _buttons.less
, _navigation.less
, vv) Tập tin này sẽ ghi đè lên _buttons.less
các chủ đề của phụ huynh.
Điều quan trọng là nhận thấy sự khác biệt giữa ghi đè và mở rộng .
Bạn có thể đọc thêm về ghi đè và mở rộng trong tài liệu này hoặc về CSS trong Magento 2 trong Hướng dẫn dành cho nhà phát triển Frontend .