Jawaban:
Ada dua teknik yang relatif baru untuk melakukannya:
Gunakan modman sehingga Anda akan dapat mengontrol sendiri apa yang harus digunakan untuk setiap lingkungan. Ini berarti Anda modman deploy [name-of-dev-extension]
hanya menjalankan di lingkungan dev Anda.
Gunakan magento-komposer dengan composer.json
skenario yang berbeda untuk lingkungan yang berbeda. Dan cara yang lebih mudah adalah dengan menentukan ekstensi tersebut sebagai modul-dev dan kemudian menginstal proyek menggunakan --require-dev
sakelar pada mesin pengembangan Anda.
Mereka biasanya dapat dinonaktifkan dengan nyaman dengan flag konfigurasi, sehingga mereka secara teknis aktif tetapi tidak melakukan apa-apa. Jika Anda mengatur tanda ini ke false di app/etc/local.xml
sistem live Anda, Anda akan baik-baik saja.
local.xml
file Anda di repo Anda. Yang mungkin merupakan kasus.
local.xml
biasanya tidak ada di repo
Lihat MageTrashApp yang dibuat di Magento Hackathon di Berlin baru-baru ini. Memungkinkan Anda untuk menonaktifkan modul melalui panel admin.
Cara mudah untuk melakukan ini adalah, menonaktifkan modul di / etc / modules, mendorongnya, mengabaikan file secara lokal dan mengaktifkannya lagi.
Saya pikir cara terbaik untuk mengatasi hal ini adalah menjaga semua modul tersebut di codePool lokal dan menonaktifkan semua modul lokal secara langsung dengan baris ini di local.xml Anda:
<disable_local_modules>true</disable_local_modules>
Atau Anda dapat melakukan "Nonaktifkan Modul Output" di backend di lingkungan langsung Anda. (Sistem -> Konfigurasi -> Tingkat Lanjut). Namun ini tidak sepenuhnya menonaktifkan modul. Tapi mungkin itu hanya cukup ingin Anda ingin menyembunyikannya.
Satu-satunya hal lain yang dapat saya pikirkan adalah menulis beberapa kode yang dapat melakukan ini. Periksa apakah itu dalam mode pengembang ( Mage::getIsDeveloperMode()
) dan kemudian nonaktifkan modul. Saya menemukan beberapa detail lebih lanjut tentang mencapai ini di sini: /programming/6520634/magento-how-to-disable-module-programmatically
local
modul akan memaksa Anda untuk memindahkan semua modul lain dari local
codePool ke community
dan juga melakukannya untuk semua ekstensi di masa depan. Menonaktifkan output modul seperti yang Anda katakan masih memungkinkan ekstensi berjalan memperlambat toko Anda. Dan solusi ke-3 akan membutuhkan modifikasi yang akan ditimpa dengan pembaruan ekstensi.
Saya biasanya hanya memasukkan mereka ke dalam lingkungan pengujian saya, tetapi tidak memeriksanya ke dalam sistem kontrol versi, misalnya dengan menggunakan .gitignore
file untuk mengecualikan mereka agar tidak dipertimbangkan untuk melakukan.
Ada slide dalam konferensi Imagine 2011 oleh Erik Hansen. Dia menyatakan kode dalam slide seperti di bawah ini (untuk mode pengembang)
# File : index.php
if(preg_match('/^stage\.|\.dev$/', $_SERVER['HTTP_HOST'])) {
$_SERVER['MAGE_IS_DEVELOPER_MODE'] = true;
}
di sini adalah, Erik mengaktifkan pengaturan berdasarkan subdomain yang dapat Anda sesuaikan sendiri.