Magento에 3 개의 코드 풀이있는 이유는 무엇입니까?


26

마 젠토에는 세 가지 코드 풀이 있습니다.

  1. 커뮤니티
  2. 핵심
  3. 노동 조합 지부

코어 : 모든 마 젠토 기본 모듈을 포함합니다

커뮤니티 및 로컬 : 이 코드 풀은 사용자 정의 모듈 개발에 사용됩니다.

이제 나는 이것에 대해 의심합니다.

  • Magento는 왜 우리의 커스터마이즈를 위해 두 개의 코드 풀을 사용합니까?
  • Magento가 하나의 단일 코드 풀을 사용자 지정에 사용하지 않는 이유는 무엇입니까?

누군가 이것에 대해 설명 할 수 있습니까?

답변:


34

app / code / core-기본 Magento와 함께 배포되고 핵심 기능을 구성하는 모듈을 보유합니다.

앱 / 코드 / 커뮤니티 -타사에서 개발 한 모듈 보유

app / code / local -Mage 코드 대체를 포함하여 개발 한 사용자 정의 모듈을 보유합니다.

Magento가 사용자 지정을 위해 두 개의 코드 풀을 사용하는 이유는 무엇입니까?

마 젠토는 실제로 3 개의 코드 풀을 사용합니다. 그것은로드 지역 첫째, 지역 사회의 두 번째 및 핵심 세 번째. 조직 목적으로 2 개를 사용하고 타사 확장 프로그램이 동일한 것을 다시 쓰려고 할 때 문제를 해결하는 데 도움이됩니다. 예를 들어 동일한 모델을 다시 작성하려고 시도하는 app / code / community에 두 개의 확장이있는 경우 간단히 app / code / local에 확장을 만들어 두 확장 논리를 병합 할 수 있습니다.

Magento가 사용자 지정을 위해 단일 코드 풀을 사용하지 않는 이유는 무엇입니까?

이 방법으로 코드 구성을 시도했습니다. 또한 제 3 자 충돌이 발생하면 지역 문제는 이러한 문제를 해결하는 데 도움이됩니다. 현지인은 또한 해당 사이트에만 제공되는 확장 프로그램을 보유하고 있습니다.


1
단일 코드 풀 질문에 대한 좋은 답변. 여러 타사 모듈을 설치 한 후 발생하는 모든 충돌을 감안할 때 모든 local행업을 마사지하려면 해당 세 번째 코드 풀이 있어야합니다 .
Fiasco Labs

11

여기에 이미지 설명을 입력하십시오

core :이 코드 풀은 Magento 핵심 개발 팀에 속합니다. 따라서이 코드 풀을 수정해서는 안됩니다.

community :Magento 커뮤니티 개발자 (타사 확장 프로그램을 개발하는 개발자 포함)에 속합니다. 타사 확장을 만드는 경우이 코드 풀을 사용할 수 있습니다.

local :Magento 스토어를 위해 특별히 수정 (새 기능 추가 / 확장 재정의 / 핵심 기능 수정 등)을 수행하고 커뮤니티와 공유하지 않으려는 경우에 사용할 수 있습니다. 동시에 핵심 및 커뮤니티 코드 풀의 기능을 대체 할 수 있습니다.


5

마 젠토 코드 풀 설명

핵심 수영장

우선,이 폴더는 Magento를 강력하고 유연하며 사랑스럽게 만드는 모든 코드를 저장합니다. 마 젠토 개발의 주요 규칙은 절대로 변경해서는 안된다는 것입니다. 즉,이 폴더는 Magento 핵심 개발자에게만 해당되며이 풀의 내용을 편집하려는 경우 악의적 인 정신으로 인해 디스플레이를 통해서도 처벌을받을 수 있습니다.

커뮤니티 풀

이 폴더는 전적으로 커뮤니티 개발자에게 속합니다. MagentoConnect에서 찾을 수 있거나 확장 기능 개발 저장소에서 제공되는 무료 및 유료의 수백 가지 타사 확장 프로그램에 적합한 곳입니다. 따라서 기본적으로 확장을 설치 한 경우 app / code / community /에만 있어야합니다.

지역 수영장

자체 Magento 기반 상점이 있고 직접 모든 것을 만들고 싶거나 Magento 개발자이고 어떻게 든 논리를 변경하려는 목적이 있다면 로컬 풀은 모든 것을 수행 해야하는 곳입니다. Magento 확장, 블록 또는 방법을 재정의하려면 Core 풀에서 필요한 폴더를 복사하고 원하는 작업을 수행하십시오. 웹 사이트를 위해 특별히 만들어진 사용자 지정 확장명에 동일한 규칙을 적용하십시오. 모든 코드는 로컬 풀에 있어야합니다.


4

우선 순위를 정하고 모듈화하기 위해 위의 모든 것을 간단하게 추가하십시오. Mage.php에서 동일한 내용을 확인할 수 있습니다.

로 코드 풀로드

 $paths[] = BP . DS . 'app' . DS . 'code' . DS . 'local';
 $paths[] = BP . DS . 'app' . DS . 'code' . DS . 'community';
 $paths[] = BP . DS . 'app' . DS . 'code' . DS . 'core';
 $paths[] = BP . DS . 'lib';

그래서 먼저 로컬이 호출 된 다음 커뮤니티가 코어와 magento가 코어 파일을 찾지 못하면 Zend-Framework Core 파일이 들어있는 lib 폴더를 검색합니다


1

내가 가장 잘 설명하는 것은 Magento Connect를 통해 확장 프로그램을 더 많은 사람들에게 배포하려는 경우 커뮤니티에 배치 할 수 있다는 것입니다.

이렇게하면 다른 개발자가 클래스를 로컬 폴더에 배치하여 동작을 재정의 할 수 있습니다.

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