모듈 출력 비활성화와 모듈 활성의 차이점은 무엇입니까?


16

magento에서는 두 가지 방법으로 모듈을 움직일 수 있다는 것을 알게되었습니다.

  1. Magento 백엔드에서 시스템> 구성> 고급> 모듈 출력 비활성화로 이동하면 특정 모듈을 쉽게 비활성화 할 수 있습니다.
  2. app / etc / modules 디렉토리에서 active-tag를 true에서 false로 변경합니다.

이 두 기술의 정확한 차이점이 무엇인지 알 수 있습니까? 누군가가 더 자세한 답변을 제공하면 매우 도움이됩니다.


1
좋은 질문 ..
Amit Bera

@AmitBera, 감사합니다
Charlie

답변:


17
  1. System > Configuration > Advanced > Disable모듈 출력은 실제로 해당 모듈을 비활성화하지 않습니다. 이름에서 알 수 있듯이 모듈 출력을 비활성화합니다.

    당신이 볼 때

    abstract class Mage_Core_Block_Abstract

    final public function toHtml()
    {
        Mage::dispatchEvent('core_block_abstract_to_html_before', array('block' => $this));
        if (Mage::getStoreConfig('advanced/modules_disable_output/' . $this->getModuleName())) {
            return '';
        } 
    
    // It is checking If its in disabled mode then just return blank output
    .......
    }
  2. 동안 app/etc/modules완전히 비활성화 모듈


정답 ...
Kartik Asodariya

3
  1. Magento 백엔드에서 시스템> 구성> 고급> 모듈 출력 비활성화로 이동하면 특정 모듈을 쉽게 비활성화 할 수 있습니다.

    -모듈이 렌더링되지 않고 화면에 출력을 보내지 않지만 모듈이 실행됨을 의미합니다. 좀 걸릴 응용 프로그램 / 코드 / 코어 / 마법사 / 코어 / 차단 / Abstract.php -> toHtml

    if (Mage :: getStoreConfig ( 'advanced / modules_disable_output /'. $ this-> getModuleName ())) {return ''; }

  2. app / etc / modules 디렉토리 에서 active-tag를 true에서 false로 변경합니다.

    ---- true / false는 모듈이로드 또는 스킵되도록 정의합니다. 한번보세요 app/code/core/Mage/Core/Model/Config.php->loadModulesConfiguration

foreach ($ modules as $ modName => $ module) {if ($ module-> is ( 'active')) {-------}}


2

방금 설정하면 Disable Modules Output프로그래밍 용어로 모듈이 화면에 아무것도 렌더링하지 않음을 의미합니다 _toHtml(). 함수는 아무것도 반환하지 않습니다. 다른 모든 것 (관찰자, 재 작성, 컨트롤러)은 여전히 ​​실행됩니다.

이상적으로 모듈을 올바르게 비활성화하려면 "Active"를로 설정 false하고 다른 모듈이 확장되지 않는지 확인하십시오.


2

Configuration > Current Configuration Scope > Advanced > Advanced > Disable Module Output.이 작업 은 모듈 출력비활성화합니다 . 모듈이 시스템의 일부에 연결하는 일부 Observer 기능을 사용하고 일부 재정의를 수행한다고 가정하면 해당 작업이 비활성화되지 않습니다.

모듈을 완전히 비활성화하려면 다음과 같은 모듈 구성 파일로 이동하여 다음과 같이 /etc/NAMESPACE_MyModule.xml활성 매개 변수를 false로 설정해야합니다.

< ?xml version="1.0"?>
<config>
<modules>
<NAMESPACE_mymodule>
<active>false</active>
<codepool>local</codepool>
</NAMESPACE_mymodule>
</modules>
</config>

활성 태그를 false로 변경하면 모듈이로드됩니까? 마 젠토가 이것을 어떻게 처리합니까?
찰리

여전히 시스템> 구성> 고급에 표시 될 모듈을로드합니다. etc / config.xml과 같은 모듈 파일을로드하지 마십시오.
Qaisar Satti

0

"모듈 출력 비활성화"는 확장으로 정의 된 블록 출력 만 비활성화합니다. 예를 들어 관찰자가 정의 된 경우 모듈의 코드 실행을 건너 뛰지 않습니다.


어떤 파일이로드되고 어떤 파일이 두 경우 모두에 해당되지 않습니까?
찰리
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.