왜 / base / default / 레이아웃과 / default / default 레이아웃이 있습니까?


10

왜 / base / default / 레이아웃과 / default / default 레이아웃이 있습니까? 이것은 혼란스럽고 중복 된 것 같습니다.

답변:


7

요컨대 default/default원래의 기본 패키지였던 <1.4CE의 레거시입니다. Magento 핵심 테마는 기본 패키지로 계속 제공되므로 레거시만큼 많이 사용되지 는 않습니다 .

CE를 업그레이드하는 동안 기본 / 기본 값을 덮어 쓸 수 있으므로 여기에 파일을 배치하지 않는 것이 좋습니다. 그러나 <1.3과 역 호환되는 플러그인은 기본 / 기본 대신 파일을 의도적으로 여기에 배치 할 수 있습니다.


출처 : http://www.magentocommerce.com/knowledge-base/entry/magentos-theme-hierarchy#3.2


그래서 / design / frontend / default 디렉토리를 완전히 지울 수 있으며 모든 것이 여전히 완벽하게 작동합니까? 나는 단지 / base / default 만 가질 것이라는 것을 의미한다. 괜찮아? 또한 / design / adminhtml 또는 / design / install 내에 / base / default가없는 이유는 무엇입니까?
CommaToast

확실히 가능합니다. EE는 기본 / 기본 테마없이 제공됩니다.
philwinkle

1
패키지를 사용할 패키지로 지정하지 않으면 default / *가 사용되지 않습니다. 원하는 경우 디렉토리를 안전하게 제거 할 수 있지만 업그레이드 / 설치 중에 복원 될 수 있습니다.
philwinkle

1
템플릿 힌트를 활성화하고 의심스러운 경우 블록이 / default / default를 사용하는지 확인할 수 있습니다.
Amasty

1
디자인 / 패키지를 전환 할 수 default있는 것이 매우 유용한 디버깅 툴이었던 곳을 적어도 몇 번은 기억할 수 있습니다 .
pspahn

5

나는 공식 마 젠토 위키에서 더 나은 답을 찾았다 . (2012 년이되었으므로 정보가 구식인지 확실하지 않지만 알 수있는 내용에서 1.8.1에 적용되는 것 같습니다.) 전체 내용을 읽어 보는 것이 좋습니다 (굵은 글씨 클릭). 링크) 아래에 요약하겠습니다.

무엇에 /base관한 것입니까?

/base/defaultCE 1.4 및 EE 1.8에 도입되어 모든 앱 논리 유형 프런트 엔드 기능을 편집하지 않아야하는 단일 코드베이스로 통합했습니다. 기본 테마가 있는 디자인 패키지 와 동일한 디렉토리 구조를 갖지만 주요 CSS 파일이 누락되어 있으므로 유일한 디자인 패키지 및 테마로 사용하지 않는 것이 좋습니다.

좋은 비유는 그 말을하는 것 /base이다 /design/frontend무엇 /core이다 /code. 안에있는 파일을 수정해서는 안됩니다 /base. 대신 당신이 당신의 자신의 기능을 확장하기로하고 사용자 정의 디자인 패키지 가 다시 내리는 전에 젠토 내부 첫째의 볼 것이다, /base/default- 먼저가에 보이는 것 /design/frontend/{custompackagename}/{customthemename}, 그것은 다시 가을 /design/frontend/{custompackagename}/default/, 그리고 마지막으로는 다시 떨어질 것이다 /design/frontend/base/default.

정말, 그것은 단지로 생각해야 /base더 - /default하위 디렉토리는 거기 젠토 대체 시스템이 각을 통해 여행을 완료 때문입니다 디자인 패키지 의에 /default 테마 . 분명히, 디자인 패키지 는의 하위 디렉토리 /design/frontend이고 테마 는 디자인 패키지의 하위 디렉토리입니다. Magento가 디자인 패키지를 살펴 /base보거나 볼 /{custompackagename}/default테마는 항상 Magento가 찾는 마지막 장소입니다.

따라서의 주요 목적은 /base대체 시스템에서 최종 지점으로 사용되는 것이기 때문에 그 목적에 따라 다른 테마를 가지지 않습니다 /base/default.

/default그때가 있습니까?

그럼 왜 아직도 /design/frontend/default/default있습니까? 왜 /design/adminhtml/base/default없습니까? 솔직히 말해서 나는 두 번째 질문에 대한 답을 모른다. 그러나 첫 번째 답변을 시도하겠습니다.

레거시 호환성 등을 잊어 버렸기 때문에 대신 대신 호출하면 이해하기 가 훨씬 쉬울 것이라고 생각합니다 . 그래서이 토론의 목적을 위해 난을 참조한다 과 공동으로 "일반적인 디자인 패키지"로. 그들이라는 것처럼 나는 그 디렉토리 내의 모든 참조됩니다 및 . Magento의 폴백 시스템이 더 이상으로 돌아 가지 않기 때문에 "기본"이라고 부르는 것이 혼란 스럽다고 생각합니다. 그 단어 가 폴백 체인의 일부 임을 암시하기 때문에 일반적인 디자인 패키지는 더 이상 도입 당시 폴백 체인의 일부/generic/default/default/default/app/design/frontend/default//app/skin/frontend/default//app/design/frontend/generic/app/skin/frontend/generic/app/design/frontend/default//base. 따라서 "기본 디자인 패키지"대신 "일반적인 디자인 패키지"라고하는 것은 폴백 체인의 일부임을 암시하지 않고 Magento와 함께 무료로 제공되는 일반적인 테마의 집합 일 뿐이므로 이러한 혼란을 완화합니다. :디

다음에 운반 다음 일반적인 디자인 패키지는 내부의 기본 테마와 몇 가지 기본이 아닌 테마를 가지고 /blank, /iphone하고 /modern. 기본이 아닌 테마가 활성화 된 경우 해당 파일이 기본 테마의 항목을 대체하지만 기본이 아닌 테마가 활성화 된 경우 기본 패키지 가 아닌 테마 로 대체되지 않은 일반 패키지의 기본 테마 부분 여전히 실행되며 더 나아가서의 항목을 재정의 /base/default합니다. 마지막으로 재정의되지 않은 부분 /base/default이 실행됩니다.

그러나 사용자 지정 디자인 패키지를 사용하는 경우 일반 디자인 패키지의 어느 부분도 실행되지 않습니다 . 폴백 시스템은에서로 바로 {customdesignpackage}/{customthemename}이동 {customdesignpackage}/default합니다 base/default. (이것을 올바르게 이해하지 못하는 한, 틀렸다면 정정하십시오.)

즉, 일반 디자인 패키지에는 여전히 필요한 스킨 요소가 있기 때문에 사용자 정의 디자인 패키지를 배치하지 않고 일반 디자인 패키지를 완전히 삭제하는 것은 현명하지 않습니다.

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