2012-11-05 2 views
1

Plone을 사용할 때 이미지 맵을 사용해야했습니다. 그래서 this 제품을 제 빌드에 추가했습니다. 그러나, 나는 나의 신청에있는 제품을 사용할 수 없었다는 것을주의했다. 조사한 결과,이 특정 제품이 사용되는 특정 테마 즉 plone 기본 테마를 지정했음을 확인했습니다.Plone - 다른 제품의 skins.xml 덮어 쓰기

<?xml version="1.0"?> 
<object name="portal_skins" allow_any="False" cookie_persistence="False"> 

<object name="zopyx_tinymceplugins_imgmap" 
    meta_type="Filesystem Directory View" 
    directory="zopyx.tinymceplugins.imgmap:skins/zopyx_tinymceplugins_imgmap"/> 

<skin-path name="Plone Default"> 
    <layer name="zopyx_tinymceplugins_imgmap" 
    insert-after="custom"/> 
</skin-path> 
<skin-path name="Sunburst Theme"> 
    <layer name="zopyx_tinymceplugins_imgmap" 
    insert-after="custom"/> 
</skin-path> 

</object> 

이제 내 응용 프로그램이 특정 주제 즉 MyCustomTheme 있습니다 여기에

제품에서 skins.xml입니다. 활성화 할 때 Addon 제품의 기능을 사용할 수 없지만 Plone 기본 테마로 되돌릴 때 제대로 작동합니다. 이것은 제가 추론 한 것은 특정 제품 내의 테마를 하드 코딩 한 것입니다.

MyCustomTheme에서 항상 제품을 사용할 수 있도록 어떻게 수정해야합니까? 내 skins.xml 파일을 편집하고 제품을 종속성으로 포함 할 생각입니다.

업데이트 : 제품의 작성자는 마지막으로 버그를 수정했습니다. 0.3.2의 최신 버전 제품이 모든 스킨에서 정상적으로 작동합니다.

답변

2

자신 만의 테마에 동일한 레이어 (zopyx_tinymceplugins_imgmap)를 추가해야합니다. 기본 스킨에 의존하지 않지만 작성자는 모두 스킨으로 레이어를 등록하기 위해 와일드 카드 정의를 추가하는 것을 잊었습니다. 이미 자신의 테마에 대한 skins.xml 파일이있는 경우

, 단순히 동일한 레이어 정의를 추가 :

<skin-path name="Your Theme Name"> 
    <layer name="zopyx_tinymceplugins_imgmap" 
    insert-after="custom"/> 
    <!-- your other skin layer definitions --> 
</skin-path> 

당신이 자신의 프로필의 medadata.xml 종속성이 제품의 일반적인 설정 프로파일을 추가해야합니다 :

<dependencies> 
    <dependency>profile-zopyx.tinymceplugins.imgmap:default</dependency> 
    <!-- any other dependencies --> 

</dependencies> 

그리고 설치 프로필을 다시 실행하십시오.

+0

감사합니다. install_requires의 setup.py 파일에도이 파일을 포함해야합니까? – Frankline

+1

사이트가 그 패키지에 의존한다면, 어쨌든 좋은 생각이 될 것입니다. :-) –

+2

방금 ​​모든 피부 경로에 대해 레이어를 등록하는 0.3.2를 릴리스했습니다 – fRiSi