Nơi để tạo tiện ích mở rộng tùy chỉnh cho Magento2?


9

Một số bài viết khuyến khích tạo tiện ích mở rộng tùy chỉnh app/codevà một số khuyến khích khác để tạo chúng dưới vendor. Cả hai phương pháp này có tốt không?

Nếu tôi muốn ghi đè một mô-đun vào vendorthì sao? Tôi có cần phải viết mô-đun tùy chỉnh của mình trong vendorthư mục hay app/codekhông?

Họ có hoạt động như các mật mã như trong Magento 1.x không?

Xin vui lòng bất cứ ai làm rõ mục đích của mỗi thư mục.


Theo tôi chúng ta cần làm cho nó trong ứng dụng / mã.
Arjun

Câu trả lời:


7

Bạn có thể xem các thư mục app/codevendorcác bộ mã trong M1, nhưng chúng không thực sự là bộ mã.
Không có khái niệm "codepool" trong M1.

  • vendorthư mục dành cho các mô-đun bạn tải xuống thông qua trình soạn thảo. Bạn không nên viết mã trong thư mục đó.
  • app/codelà sân chơi của bạn. Thêm phần mở rộng của riêng bạn ở đây.

Nếu bạn cần viết lại / mở rộng một cái gì đó trong vendorthư mục, bạn có thể làm điều đó trong app/codethư mục. Chỉ cần đảm bảo rằng bạn chỉ định phụ thuộc mềm trong module.xmlmô-đun của mình, giống như cách bạn đã thực hiện trong app/etc/modules/Namespace_Module.xmltệp M1 .
Sự khác biệt duy nhất là trong m2 họ không thực sự phụ thuộc. Chúng là các chuỗi.
Bằng cách này, mô-đun của bạn sẽ được tải sau khi một từ vendorthư mục


Không hoàn toàn đúng. Nếu bạn cài đặt M2 qua github app/codekhông phải là một sân chơi;)
Raphael tại Digital Pianism

@Marius: Cảm ơn rất nhiều. Nó xóa tan nghi ngờ tôi có. Nếu bạn muốn ghi đè XMtệp L trong mô-đun nhà cung cấp, chúng ta vẫn phải đề cập đến các phụ thuộc trong module.xml ?
Sukeshini

@RaphaelatDigitalPianism. Có và không. Bạn có được các mô-đun cốt lõi trong app/codetrường hợp đó, nhưng bạn vẫn có thể thêm các mô-đun của riêng mình. Và lý do duy nhất bạn nên cài đặt m2 qua github là để chơi xung quanh nó và / hoặc đóng góp cho nó. Vì vậy, về mặt kỹ thuật này vẫn làm cho app/codesân chơi của bạn.
Marius

@Sukeshini. Không chắc chắn về nó, nhưng tôi nghĩ bạn nên.
Marius

@Marius đồng ý với tất cả những gì bạn nói tôi sẽ nói app/code/Vendorlà sân chơi của bạn nên không có nguy cơ phá vỡ nội dung cốt lõi
Raphael tại Digital Pianism

2

app/code chắc chắn là nơi thích hợp cho các mô-đun của projet của bạn.

Bạn không bao giờ phải viết mã bên trong vendor(thư mục này không bị bỏ qua trong kiểm soát nguồn của bạn), vì nó chỉ được quản lý bởi nhà soạn nhạc và dành riêng cho mô-đun hoặc mô-đun của bên thứ ba mà bạn muốn sử dụng lại (và bạn đã xuất bản trên packagist hoặc kho lưu trữ satis của riêng bạn ).

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.