Magento 2: यदि मॉड्यूल स्थापित है तो कैसे जांचें


18

Magento 2 में, क्या यह जांचना संभव है कि कोई मॉड्यूल रनटाइम पर स्थापित है या नहीं?

Magento 1 में मैं या तो isModuleEnabledसहायक विधि का उपयोग करता हूं , या मैन्युअल रूप से वैश्विक कॉन्फ़िगरेशन ट्री प्राप्त करता हूं और नीचे नोड्स की जांच करता हूं <modules/>

क्या isModuleEnabledMagento 2 में एक बराबर है? यदि नहीं, तो मैं वैश्विक कॉन्फ़िगरेशन को कैसे पकड़ सकता हूं और मुझे इच्छित मॉड्यूल नोड्स की जांच करनी चाहिए?

जवाबों:


15

शायद आप इस के लिए देख रहे हैं?

lib / आंतरिक / Magento / फ्रेमवर्क / मॉड्यूल / 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);
}

इसके अलावा एक ही कक्षा में विधि isOutputEnabled है। v। 2.2.0 के बाद से हटा दिया गया

उपयोग का उदाहरण:

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

हाँ, यह है कि मैं क्या देख रहा था!
एलन स्टॉर्म

3

संगीतकार का उपयोग करने के लक्ष्य का एक हिस्सा यह है कि आप यह सुनिश्चित कर सकते हैं कि निर्भरता मौजूद है, अन्यथा मॉड्यूल स्थापित नहीं होगा। हालाँकि, यह "अक्षम" आउटपुट मोड है जो थोड़ा अजीब है, लेकिन "जल्दी, यह टूट गया है, इसे बंद करें जब तक हम इसे ठीक से ठीक नहीं कर सकते हैं"।

इसलिए सक्षम मॉड्यूल की अवधारणा एम 2 में समान नहीं है।

ऐसा कहने के बाद, मुझे पूरा यकीन है कि इस तरह की एक एपीआई है, लेकिन इसे अभी तक सार्वजनिक रूप से चिह्नित नहीं किया जा सकता है / @ एपीआई एनोटेशन के साथ समर्थित है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.