Как узнать программно факт наличия и включенности модуля?

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 forastr
  • Группа: Пользователь
  • Сообщений: 36
  • Регистрация: 18.01.2012

09.02.2012 14:43

Здравствуйте!Подскажите,пожалуйста,каким образом в коде программы узнать:установлено или нет сейчас на сайте конкретный extension?

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

09.02.2012 14:48

Я в Российской сборке Magento использую следующую функцию:

/**
 * @param string $moduleName
 * @return bool
 */
function df_module_enabled ($moduleName) {

    /** @var Varien_Simplexml_Element|null $moduleConfig  */
    $moduleConfig = Mage::app()->getConfig()->getModuleConfig($moduleName);

    /** @var bool $result  */
    $result = false;

    if (
            ($moduleConfig instanceof Varien_Simplexml_Element)
        &&
            !df_empty ($moduleConfig->asXML ())
    ) {

        /** @var array|string $moduleConfigAsCanonicalArray */
        $moduleConfigAsCanonicalArray = $moduleConfig->asCanonicalArray();

        if (is_array ($moduleConfigAsCanonicalArray)) {

            /** @var string $isActiveAsString  */
            $isActiveAsString = df_a ($moduleConfigAsCanonicalArray, 'active');

            $result = ('true' === $isActiveAsString);

        }
    }


    return $result;

}


#3 forastr
  • Группа: Пользователь
  • Сообщений: 36
  • Регистрация: 18.01.2012

10.02.2012 14:54

Спасибо!Помогло!

Поделиться темой: