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>

и снова запустите ваш профиль настройки.

Другие вопросы по тегам