답변:
이를 위해 비교적 새로운 두 가지 기술이 있습니다.
modman을 사용 하면 각 환경에 배포 할 항목을 직접 제어 할 수 있습니다. 이것은 modman deploy [name-of-dev-extension]개발자 환경에서만 실행된다는 것을 의미 합니다.
환경에 따라 시나리오가 다른 magento-composer 를 사용하십시오 composer.json. 더 쉬운 방법은 확장을 dev-modules로 지정한 다음 --require-dev개발 시스템 의 스위치를 사용하여 프로젝트를 설치하는 것 입니다.
그것들은 일반적으로 구성 플래그로 편리하게 비활성화 할 수 있으므로 기술적으로 활성이지만 아무것도하지 않습니다. app/etc/local.xml라이브 시스템 에서이 플래그를 false로 설정 하면 문제가 없습니다.
local.xml파일을 저장소에 보관하지 않으려는 경우 좋은 솔루션 입니다. 어떤 경우 일 수 있습니다.
local.xml일반적으로 repo에 없습니다
최근 베를린의 Magento Hackathon에서 만든 MageTrashApp 를 참조하십시오 . 관리자 패널을 통해 모듈을 비활성화 할 수 있습니다.
이를 수행하는 간단한 방법은 / etc / modules에서 모듈을 비활성화하고 밀어서 파일을 로컬에서 무시한 후 다시 활성화하는 것입니다.
이 문제를 처리하는 가장 좋은 방법은 해당 모듈을 모두 로컬 codePool에 유지하고 local.xml 의이 줄을 사용하여 모든 로컬 모듈을 활성화하지 않는 것입니다.
<disable_local_modules>true</disable_local_modules>
또는 실제 환경의 백엔드에서 "모듈 출력 비활성화"를 수행 할 수 있습니다. (시스템-> 구성-> 고급). 그러나 이것이 모듈을 완전히 비활성화하지는 않습니다. 그러나 아마도 당신이 그것을 숨기고 싶어하기에 충분할 것입니다.
내가 생각할 수있는 유일한 다른 것은 이것을 풀 수있는 코드를 작성하는 것입니다. 개발자 모드 ( Mage::getIsDeveloperMode()) 인지 확인한 다음 모듈을 비활성화하십시오. /programming/6520634/magento-how-to-disable-module-programmatically에서 이것을 달성하는 방법에 대한 자세한 내용을 찾았습니다.
local모듈을 비활성화 하면 다른 모든 모듈을 localcodePool 에서 다른 community확장 으로 이동 해야합니다. 당신이 말한대로 모듈 출력을 비활성화하면 확장이 상점을 느리게 실행할 수 있습니다. 그리고 세 번째 솔루션에는 확장 업데이트로 덮어 쓸 수정이 필요합니다.
나는 보통 테스트 환경에 넣었지만 .gitignore파일을 사용하여 커밋 대상에서 제외시키는 것과 같이 버전 관리 시스템에 체크인하지는 않는다 .
Erik Hansen의 Imagine 2011 컨퍼런스에 슬라이드가 있습니다. 그는 슬라이드에 코드를 다음과 같이 언급했습니다 (개발자 모드의 경우)
# File : index.php
if(preg_match('/^stage\.|\.dev$/', $_SERVER['HTTP_HOST'])) {
$_SERVER['MAGE_IS_DEVELOPER_MODE'] = true;
}
여기서 Erik은 사용자 정의 할 수있는 하위 도메인을 기반으로 설정을 활성화합니다.