상황은 다음과 같습니다. 기본 테마를 사용하여 테스트하고 작동하는 여러 가지 자체 제작 모듈이 있습니다. 그런 다음 새로운 테마를 구입하여 설치했습니다. 새 테마로 전환되었으며 모듈이 표시되지 않습니다. 여러 번의 시도 / 실패 테스트 후 해당 레이아웃 및 템플릿 파일을 최근 설치된 테마의 해당 폴더로 복사해야한다는 것을 알았습니다.
그래서 내 질문은 : 모듈 설정 후 설치된 모든 테마로 모든 모듈을 작동 시키려면 어떻게해야합니까?
상황은 다음과 같습니다. 기본 테마를 사용하여 테스트하고 작동하는 여러 가지 자체 제작 모듈이 있습니다. 그런 다음 새로운 테마를 구입하여 설치했습니다. 새 테마로 전환되었으며 모듈이 표시되지 않습니다. 여러 번의 시도 / 실패 테스트 후 해당 레이아웃 및 템플릿 파일을 최근 설치된 테마의 해당 폴더로 복사해야한다는 것을 알았습니다.
그래서 내 질문은 : 모듈 설정 후 설치된 모든 테마로 모든 모듈을 작동 시키려면 어떻게해야합니까?
답변:
모든 것을
base/default
길에 넣으십시오 .
예:
app/design/frontend/base/default
skin/frontend/base/default
어려운 사실은, 그들이 될 것이라고 실제로 보장 할 수는 없다는 것입니다. 파일을 파일에 넣으면 base/default
(또는 default/default
기본 파일을 모듈 설치로 덮어 쓰지 않기 때문에 코어 템플릿을 덮어 쓰는 경우 엔터프라이즈 버전의 복제본을 유지해야 함) 파일이 폴 백이 될 수 있지만 테마 파일은 항상 최우선 순위입니다.
대부분의 모듈은 설치 안내서와 함께 제공되며, 여기에는 사용자 정의 파일이있는 경우 사용자 테마에 템플리트 파일을 복사하는 것에 대한 언급이 포함됩니다. 그것은 당신이 할 수있는 최선의 것입니다.
우리가 몇 번 사용한 것은 [Fabrizio Branca] [1]의 [Custom Fallback] [2] modlue입니다. 사용자 정의 테마 대체 계층 구조를 지정하는 데 매우 유용한 모듈입니다. 할 수있는 한 가지는 다음을 지정하는 것입니다.
custom/theme
base/default
default/default
그런 다음 default/default
테마에 자체 템플릿을 넣는 모든 모듈 . base/default
패키지 를 재정의하려고하면 작동하지 않습니다 .
사용자 지정 대체 계층 구조에서 여러 패키지 / 테마를 지정할 수 있습니다.
[1] : http://www.fabrizio-branca.de/ [2] : http://www.fabrizio-branca.de/custom-design-fallbacks-in-magento.html
base/default
경로를 따라 어딘가에 재정의되지 않는 한 템플릿 및 레이아웃 파일 이로드됩니다. 그러나 사용자 정의 모듈이 일종의 위젯 인 경우 필요할 때마다 에코되는지 확인해야합니다. 예를 들어을 통해 제품 페이지에 표시된 내용을 변경하는 getChildHtml
경우 해당 통화도 해당 테마에 있어야합니다. 그러나 모듈 템플릿 자체가 페이지이고에서로드되지 않은 base/default
경우 무언가가 레이아웃 구성을 차단하므로 무엇을 찾아야합니다.
getChild
실제로 이런 종류의 전화가 있습니다.
이에 대한 간단한 대답은 없습니다. 가지고있는 모듈에 따라 다릅니다. 예를 들어 일부 모듈 회사에서는 핵심 파일을 재정의합니다. 따라서, 먼저 사용할 파일 내용을 확인해야 app/etc/modules
하고 app/code/local/Mage
, app/code/community/Mage
폴더. 아시다시피, 첫 번째 폴더는 xml 파일과 관련된 모듈을 비활성화하거나 활성화 할 수있는 모듈 초기화 폴더입니다. 마지막 두 개의 폴더 (사용 가능한 경우)는 핵심 코드 재정의 폴더입니다.
그런 다음 사용 가능한 etc/modules
디렉토리 중 하나 인 xml 파일 중 하나를여십시오 . 다음과 같은 내용이 표시됩니다.
<?xml version="1.0"?>
<config>
<modules>
<Company_Namespace>
<active>true</active>
<codePool>local</codePool>
</Company_Namespace>
</modules>
여기서 중요한 부분이있다 Company
및 Namespace
. app/code/local
또는 app/code/community
폴더 를 방문하면 이라는 이름 Company
의 하위 폴더가라는 폴더가 표시 Namespace
됩니다.
조회하면 Namespace
라는 하위 폴더가 표시됩니다 /etc
. 이 폴더는 모듈 관련 설정 파일을 유지합니다 config.xml
. 이 파일에는이 모듈과 관련된 파일을 참조 할 수있는 모듈 관련 구성 행이 있습니다.
첫 번째 줄에서 말했듯이 관리하기가 어렵습니다.