Magento 버전에 따라 Composer를 통해 설치할 파일을 선택하십시오


11

Magento 버전의 설치 대상을 기반으로 작곡가 모듈에 여러 버전의 코드를 포함시키고 작곡가가 어떤 버전을 배포 할 것인지 결정하는 것이 매우 편리합니다.

예를 들어, Magento> 1.7의 경우 tooltip중첩 group및 기타 최신 기능 이 포함 된 system.xml을 사용 하지만 이전 버전의 Magento의 경우 파일 (줄 바꿈)이 포함되지 않은 제거 된 버전의 파일을 사용하십시오.

이 방법은 표준 모듈 구조의 다른 많은 파일에서도 작동 할 수 있습니다.

작곡가 배포 옵션은 map, modman또는 package.xml대상 시스템에 관한 정보를 어느 것도 AFAIK. 이 package.xml옵션은 변경 될 가능성이 거의 없지만 다음과 같이 map할 수 있습니다.

우아한 저하 접근 방식의 이점을 얻을 수있는 많은 확장 개발자가있을 것 같습니다. 누구든지 이것에 대한 해결 방법을 찾았습니까?

답변:


8

해결 방법이 없으며 아직 문제가되지 않았지만 작동 할 수있는 제안이 있습니다.

  1. 다른 마 젠토 버전을 대상으로하려면 별도의 버전 분기를 유지해야합니다. 일부 작곡가의 마법에 따라 동일한 버전으로 다른 파일을 배포해도 제대로 작동하지 않습니다. 따라서 Extesion 1.x에는 이전 Magento 버전 (예 : 최대 1.6)과의 호환성을위한 2.x분기 와 최신 버전을위한 분기가있을 수 있습니다. 그에 따라 버전 태그를 추가하십시오. 물론 원하는만큼 많은 지점을 유지하고 각 Magento 버전에 가장 적합한 코드를 작성할 수 있지만 IMHO는 노력할 가치가 없으며 하나의 "현대"지점과 "레거시"지점으로 충분합니다. "현대"브랜치와의 하위 호환성을 원하는 정도는 최신 버전 일 수 있습니다.
  2. 다음과 같이 Magento에 대한 요구 사항을 추가하십시오.

    "require": {
        "magento/magento-ce": "1.4-1.7"
    }

    "require": {
        "magento/magento-ce": ">=1.8"
    }
  3. 이제 더 이상 영향을 미치지 않는 부분이 단점입니다. 공식 magento/magento-ce패키지 가 없으므로 확장 사용자는 https://github.com/firegento/magento 와 같은 커뮤니티 관리 미러에서 Magento를 설치합니다. -ce 또는 자체 저장소에서. 이들은 동일한 버전 의 "가상" 패키지를 대체 해야합니다 magento/magento-ce(자리 표시 자 self.version 이 있으므로 각 버전 업데이트에 대해 composer.json을 조정할 필요가 없습니다).

    "replace": {
        "magento/magento-ce": "self.version"
    }

이것은 위의 규칙이 널리 받아 들여지고 실제로 composer 의존성을 통해 Magento 자체를 설치하는 사용자에게만 효과적입니다.

따라서보다 현실적인 방법은 1 단계를 따르고 사용자에게 1.x 이전의 Magento 버전을 실행하는 경우 다른 분기 / 차이 한 주 버전을 요구하도록 조언하는 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.