Yanıtlar:
Bunu yapmak için nispeten yeni iki teknik vardır:
Modman kullanın, böylece her ortam için neyi dağıtacağınızı kendiniz kontrol edebilirsiniz. Bu, modman deploy [name-of-dev-extension]
yalnızca geliştirme ortamınızda çalıştığınız anlamına gelir .
Farklı ortamlar için farklı senaryolara sahip magento-besteci kullanın composer.json
. Ve daha da kolay bir yol, bu uzantıları dev-modülleri olarak belirtmek ve ardından projeyi --require-dev
geliştirme makinenizdeki anahtarı kullanarak yüklemektir .
Bunlar genellikle bir yapılandırma bayrağıyla kolayca devre dışı bırakılabilir, bu nedenle teknik olarak aktiftirler, ancak hiçbir şey yapmazlar. Bu bayrağı app/etc/local.xml
canlı sisteminizde false olarak ayarlarsanız , iyi olmalısınız.
local.xml
Dosyanızı deponuzda tutmak istemiyorsanız bu iyi bir çözümdür . Bu bir durum olabilir.
local.xml
genellikle depoda değil
Son zamanlarda Berlin'deki Magento Hackathon'da yaratılan MageTrashApp'a bakın . Yönetici panelinden modülleri devre dışı bırakmanızı sağlar.
Bunu yapmanın basit bir yolu, / etc / modülleri içindeki modülü devre dışı bırakmak, itmek, dosyayı yerel olarak yok saymak ve yeniden etkinleştirmektir.
Ben bununla başa çıkmak için en iyi yolu ya yerel codePool tüm bu modülleri tutmak ve local.xml bu satırda canlı tüm yerel modülleri devre dışı bırakmak olduğunu düşünüyorum:
<disable_local_modules>true</disable_local_modules>
Ya da canlı ortamınızın arka ucunda "Modül Çıkışını Devre Dışı Bırak" seçeneğini kullanabilirsiniz. (Sistem -> Yapılandırma -> Gelişmiş). Ancak bu, modülü tamamen devre dışı bırakmaz. Ama belki de saklamak istemeniz yeterlidir.
Aklıma gelen tek şey, bunu çekebilecek bir kod yazmak. Sadece geliştirici modunda ( Mage::getIsDeveloperMode()
) olup olmadığını kontrol edin ve modülleri devre dışı bırakın . Bunu başarmak için burada daha fazla ayrıntı buldum: /programming/6520634/magento-how-to-disable-module-programmatically
local
Modülleri devre dışı bırakmak , diğer tüm modülleri local
codePool'dan taşımaya community
ve gelecekteki tüm uzantılar için yapmaya zorlar . Dediğiniz gibi modül çıkışını devre dışı bırakmak, uzantı çalışmasının mağazanızı yavaşlatmasına izin verir. Ve 3. çözüm, uzantı (lar) güncellemesi ile üzerine yazılacak değişiklikler gerektirecektir.
Genellikle onları test ortamımın içine koyarım, ancak bunları sürüm denetimi sistemine kontrol etmemem, örneğin .gitignore
dosyayı işlemek için düşünülmesini engellemek için dosyayı kullanarak .
Erik Hansen'in Imagine 2011 konferansında bir slayt var. Slaytta aşağıdaki gibi bir kod belirtti (geliştirici modu için)
# File : index.php
if(preg_match('/^stage\.|\.dev$/', $_SERVER['HTTP_HOST'])) {
$_SERVER['MAGE_IS_DEVELOPER_MODE'] = true;
}
İşte Erik, alt alanlara dayalı bir ayarı kendi kendinize özelleştirebileceğiniz şekilde etkinleştirir.