Magento 2 tệp html và tệp phtml trong quy trình mẫu tùy chỉnh?


10

Như tôi đã kiểm tra từ tài liệu magento 2 về việc thay đổi nội dung minicart.

Có hai cách :

  1. Trong trang này: http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/theme/theme-inherit.html

Chúng tôi thay đổi nó bằng cách tùy chỉnh minicart.phml và đặt nó vào: app/design/frontend/OrangeCo/orange/Magento_Checkout/templates/cart/minicart.phtml

  1. Nhưng trên trang khác: http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/temsheet/template-sample.html

Chúng tôi tùy chỉnh nó trong content.html và đặt nó vào:

app/design/frontend/OrangeCo/orange/Magento_Checkout/web/template/minicart/content.html

Vì vậy, những câu hỏi này là:

Làm thế nào magento 2 quyết định khi nào sử dụng tệp html và tệp phtml?

Điều này có liên quan đến chế độ 3 trong Magento 2: Mặc định, Nhà phát triển và Sản xuất không?

Câu trả lời:


10

Cả hai .phtml.htmlcác tệp đều là một phần của lớp xem trong Magento 2, các phtmltệp này hoạt động với Khối mà theo Magento Docs là một lớp PHP đặc biệt thường được kết nối với một khuôn mẫu. Các khối thường hoạt động với lớp mô hình (lõi Magento) để thao tác dữ liệu và trả về kết quả / phản hồi cho các mẫu (tệp .phtml hoặc .html). Các tệp này được sử dụng bởi các tệp bố cục trong việc thiết lập mẫu cho các khối nhất định, v.v.

htmlcác tệp ở đầu bên kia chỉ được sử dụng để hiển thị nội dung trên các thư viện javend và javascript như loại trực tiếp JS sử dụng chúng cho phù hợp. Những tệp này cũng được sử dụng để tải nội dung AJAX.


6

tập tin phtml được sử dụng làm mẫu php phụ trợ. tập tin html được sử dụng làm mẫu javascript frontend.

Điều này không liên quan đến chế độ Magento.


Tôi không nghĩ vậy, Bạn đã kiểm tra mọi tệp phtml mô-đun trong frontend / samples. Có phải tất cả các tệp chỉ được sử dụng cho mẫu php phụ trợ? Tại sao thư mục xem của mỗi mô-đun có hai thư mục: frontend và backend?
thienphucvx

Khi tôi nói frontend / backend tôi có nghĩa là trên máy chủ / phía máy khách. Thư mục adminhtml là Bảng quản trị và frontend là phần Store Front (có thể có phần frontend / phần phụ trợ)
KAndy

Tôi nghĩ rằng tôi nhận được quan điểm của bạn về html được hiển thị bằng javascript. Nhưng tôi không rõ tại sao họ lại sử dụng nó. Ví dụ: chúng tôi tùy chỉnh nội dung của minicart trên content.html . Nhưng để tùy chỉnh biểu mẫu trong đánh giá, chúng tôi chỉnh sửa biểu mẫu trên form.phtml ( devdocs.magento.com/guides/v2.0/frontend-dev-guide/tem mẫu / sắt )
thienphucvx

m2 có nhiều mã kế thừa (m1). không phải tất cả các phần đều được cấu trúc lại, nhưng quá trình di chuyển kết xuất nội dung ở phía máy khách sẽ được tiếp tục. và bạn có thể sử dụng kết xuất phía máy khách
KAndy

Vậy có nghĩa là trong tương lai, chỉ có tệp html cho phía máy khách?
thienphucvx

2

@thienphucvx Tài liệu về http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/theme/theme-inherit.html không chính xác.

Câu trả lời đúng nằm trong: http://devdocs.magento.com/guides/v2.0/frontend-dev-guide/temsheet/template-sample.html .

Nếu bạn đã xem tệp được tham chiếu trong liên kết đầu tiên, vendor/magento/module-checkout/view/frontend/templates/cart/minicart.phtmlbạn sẽ thấy rằng bạn không thể sửa đổi vị trí của các mục trong minicart bằng nút thanh toán.

Điều này là do phần minicart ở đây: vendor/magento/module-checkout/view/frontend/web/template/minicart/content.html

Khi tôi tìm thấy sự không nhất quán trong các tài liệu, như bạn có ở đây, tôi mở một Yêu cầu kéo trong GitHub. Có quá nhiều tài liệu để nhóm tài liệu luôn luôn chính xác 100%. Mở một PR, họ sẽ xem xét cập nhật của bạn..và nếu họ không chắc chắn, họ sẽ liên hệ với cơ quan nội bộ về vấn đề này và lấy lại cho bạn thông tin phản hồi về việc bạn có đúng hay không. Họ rất thân thiện. Cứ liều thử đi!

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.