Magento 2 - Loại chủ đề 0: vật lý, 1: ảo, 2: dàn dựng. Khi nào sử dụng?


30

Trong themebảng có một typetrường có 3 giá trị có thể: vật lý, ảo và dàn.

Khi nào nên sử dụng vật lý ảo và dàn dựng?

Khi tôi mở rộng chủ đề luma, chủ đề mới của tôi xuất hiện trong bảng chủ đề dưới dạng ảo. Nhưng có vẻ như loại này không cho phép ghi đè một số tệp và chỉ thay đổi loại chủ đề từ ảo sang vật lý, hãy để tôi mở rộng ví dụ Magento_Themegói.


Câu hỏi hay có thể không chắc chắn0: Physical - Magento Default Theme (Example: Magento Blank, Magento Luma, Magento 2 Backend) 1: Virtual - Custom Theme which is created by you (custom) which has parent as Default Theme (Example: My Theme) 2: Staging - ?
Ankit Shah

Tham khảovendor\magento\module-theme\Model\Theme\Registration.php /** Allowed sequence relation by type, array(parent theme, child theme) * @var array */ protected $_allowedRelations = [ [ThemeInterface::TYPE_PHYSICAL, ThemeInterface::TYPE_VIRTUAL], [ThemeInterface::TYPE_VIRTUAL, ThemeInterface::TYPE_STAGING],]; /** Forbidden sequence relation by type ** @var array*/ protected $_forbiddenRelations = [[ThemeInterface::TYPE_VIRTUAL, ThemeInterface::TYPE_VIRTUAL],[ThemeInterface::TYPE_PHYSICAL, ThemeInterface::TYPE_STAGING],];
Ankit Shah

Câu trả lời:


32

Có 3 loại khác nhau được định nghĩa trong Magento/Framework/View/Design/ThemeInterface:

  • Loại vật lý
  • Kiểu ảo
  • Kiểu dàn dựng

Chủ đề vật lý

Vật lý đề cập đến thực tế là những chủ đề được xác định bởi các tập tin. Ví dụ: chủ đề trống và luma được xác định vật lý dướiapp/design/frontend/

Chủ đề ảo

Điều này vẫn chưa rõ ràng nhưng tôi nghĩ các chủ đề ảo đề cập đến các chủ đề bạn có thể tạo trong phần phụ trợ mở rộng các chủ đề vật lý hiện có nhưng có vẻ như nó chưa được thực hiện đầy đủ.

Bạn có thể thấy rằng có hai tab có sẵn trong phần chỉnh sửa chỉ dành cho các chủ đề ảo cho phép bạn cung cấp CSS và JS tùy chỉnh cho một chủ đề ảo.

Tôi cho rằng một chủ đề ảo sẽ là thứ bạn thiết lập tạm thời (như chủ đề Giáng sinh) trong một khoảng thời gian ngắn của chủ đề và chỉ yêu cầu một vài thay đổi thiết kế so với chủ đề vật lý mà nó mở rộng.

Chưa có nút Thêm chủ đề ảo nào nhưng nếu bạn chạy truy vấn SQL sau, bạn có thể thiết lập một chủ đề ảo và bạn sẽ thấy tab CSS và JS khi chỉnh sửa nó:

INSERT INTO `theme` (`theme_id`, `parent_id`, `theme_path`, `theme_title`, `preview_image`, `is_featured`, `area`, `type`, `code`) VALUES (NULL, '1', NULL, 'test', NULL, '0', 'frontend', '1', 'test/test');

Và ở đây bạn đi, hai tab bổ sung và nút Lưu / Xóa:

nhập mô tả hình ảnh ở đây

Chủ đề dàn dựng

Tôi cho rằng các chủ đề dàn dựng có liên quan đến tính năng dàn Magento 2.1 EE: http://devdocs.magento.com/guides/v2.1/extension-dev-guide/staging/Staging.html

Tôi cho rằng bạn có thể có chủ đề dàn dựng khi sử dụng chiến dịch nhưng tôi không chắc chắn 100%.


Bạn vừa giải quyết vấn đề của tôi ngay tại đây Raph! Cảm ơn bạn - Alvin :)
Alvin Nguyễn

1
Tôi gặp phải một vấn đề với typecột trên themebảng: Tôi đã tạo một chủ đề và bằng cách nào đó, typegiá trị đã được đặt thành 1(thay vì mặc định 0). Tất cả các thay đổi LESS / JS của tôi đều hoạt động, nhưng Magento sẽ không đọc bất kỳ tệp bố cục nào từ chủ đề của tôi cho đến khi tôi thay đổi typegiá trị thành 0. Thông tin thêm về điều này tại đây: nahuelsanchez.com/
Erik Hansen
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.