Plone - переопределение skins.xml другого продукта
При использовании 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. Когда я активирую его, я не могу использовать функции продукта addon, но когда я возвращаюсь к теме по умолчанию Plone, она работает нормально. Это вытекает из жесткого кодирования тем в этом конкретном продукте.
Как я могу это исправить, чтобы MyCustomTheme всегда мог использовать продукт? Я думаю о редактировании моего файла skins.xml и включении продукта в качестве зависимости.
ОБНОВЛЕНИЕ: Авторы продукта наконец исправили ошибку. Последняя версия продукта от 0.3.2 теперь должна работать нормально для всех скинов.
1 ответ
Вам нужно добавить тот же слой (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>
и снова запустите ваш профиль настройки.