Magento 2: Bir Modül Takılıp Takılmadığını Kontrol Etme


18

Magento 2'de, bir modülün çalışma zamanında yüklenip yüklenmediğini kontrol etmek mümkün müdür?

Magento 1'de ya isModuleEnabledyardımcı yöntemi kullanırdım ya da genel yapılandırma ağacını el ile alıp altındaki düğümleri kontrol ederim <modules/>.

isModuleEnabledMagento 2'de bir eşdeğeri var mı ? Değilse, global yapılandırmayı nasıl alabilirim ve istediğim modül düğümlerini nasıl kontrol edebilirim?

Yanıtlar:


15

Belki de bunu arıyorsun?

lib / iç / Magento / Çerçeve / Modül / Manager.php

/**
 * Whether a module is enabled in the configuration or not
 *
 * @param string $moduleName Fully-qualified module name
 * @return boolean
 */
public function isEnabled($moduleName)
{
    return $this->_moduleList->has($moduleName);
}

Ayrıca aynı sınıfta isOutputEnabled yöntemi vardır . 2.2.0'dan beri sınır dışı

Kullanım örneği:

if (!$this->_moduleManager->isEnabled('Magento_Reports')) {

Evet, aradığım şey buydu!
Alan Storm

3

Besteciyi kullanma hedefinin bir kısmı, bağımlılıkların var olduğundan emin olmanızdır, aksi takdirde modül yüklenmez. Ancak biraz tuhaf olan ama daha çabuk "hızlı, bozuk, düzgün bir şekilde çözene kadar kapatın" gibi bir "devre dışı" çıkış modu var.

Yani modül etkin kavramı, m2 cinsinden aynı değildir.

Bunu söyledikten sonra, böyle bir API olduğundan eminim, ancak henüz herkese açık olarak işaretlenmemiş / @ API ek açıklaması ile desteklenmemiş olabilir

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.