Câu trả lời:
Có hai kỹ thuật tương đối mới để làm điều đó:
Sử dụng modman để bạn có thể tự kiểm soát những gì cần triển khai cho từng môi trường. Điều này có nghĩa là bạn modman deploy [name-of-dev-extension]
chỉ chạy ở môi trường dev của bạn.
Sử dụng trình soạn thảo magento với các composer.json
kịch bản khác nhau cho các môi trường khác nhau. Và cách dễ dàng hơn nữa là chỉ định các phần mở rộng đó là các mô-đun dev và sau đó cài đặt dự án bằng cách sử dụng công --require-dev
tắc trên máy phát triển của bạn.
Chúng thường có thể được tắt một cách thuận tiện với cờ cấu hình, vì vậy chúng hoạt động về mặt kỹ thuật nhưng không làm gì cả. Nếu bạn đặt cờ này thành false trong app/etc/local.xml
hệ thống trực tiếp của mình, bạn sẽ ổn.
local.xml
tập tin của mình trong repo. Đó có thể là một trường hợp.
local.xml
thường không có trong repo
Xem MageTrashApp được tạo ra tại Magento Hackathon ở Berlin gần đây. Cho phép bạn hủy kích hoạt các mô-đun thông qua bảng quản trị.
Một cách đơn giản để làm điều này là, vô hiệu hóa mô-đun trong / etc / mô-đun, đẩy nó, bỏ qua tệp cục bộ và kích hoạt lại nó.
Tôi nghĩ rằng cách tốt nhất để xử lý vấn đề này là giữ tất cả các mô-đun đó trong mã cục bộPool và vô hiệu hóa tất cả các mô-đun cục bộ trực tiếp với dòng này trong tệp localDB của bạn:
<disable_local_modules>true</disable_local_modules>
Hoặc bạn có thể thực hiện "Tắt đầu ra mô-đun" trong phần phụ trợ trên môi trường trực tiếp của mình. (Hệ thống -> Cấu hình -> Nâng cao). Tuy nhiên, điều này không hoàn toàn vô hiệu hóa các mô-đun. Nhưng có lẽ nó chỉ đủ để bạn muốn che giấu nó.
Điều khác duy nhất tôi có thể nghĩ là viết một số mã có thể kéo cái này ra. Chỉ cần kiểm tra xem nó ở chế độ nhà phát triển ( Mage::getIsDeveloperMode()
) và sau đó tắt các mô-đun. Tôi đã tìm thấy một số chi tiết khác để đạt được điều này tại đây: /programming/6520634/magento-how-to-disable-module-programmatically
local
các mô-đun sẽ buộc bạn di chuyển tất cả các mô-đun khác từ local
codePool vào community
và cũng làm điều đó cho tất cả các tiện ích mở rộng trong tương lai. Vô hiệu hóa đầu ra mô-đun như bạn nói vẫn cho phép tiện ích mở rộng làm chậm cửa hàng của bạn. Và giải pháp thứ 3 sẽ yêu cầu sửa đổi sẽ được ghi đè bằng bản cập nhật (các) tiện ích mở rộng.
Tôi thường chỉ đưa chúng vào môi trường thử nghiệm của mình, nhưng không kiểm tra chúng vào hệ thống kiểm soát phiên bản, ví dụ bằng cách sử dụng .gitignore
tệp để loại trừ chúng khỏi bị xem xét để cam kết.
Có một slide trong hội nghị Imagine 2011 của Erik Hansen. Ông đã nêu một mã trong slide như bên dưới (đối với chế độ nhà phát triển)
# File : index.php
if(preg_match('/^stage\.|\.dev$/', $_SERVER['HTTP_HOST'])) {
$_SERVER['MAGE_IS_DEVELOPER_MODE'] = true;
}
Đây là, Erik cho phép cài đặt dựa trên các tên miền phụ mà bạn có thể tự tùy chỉnh nó.