1

在使用 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。当我激活它时,我无法使用插件产品的功能,但是当我恢复到 Plone 默认主题时,它可以正常工作。我推断这是从特定产品中主题的硬编码得出的。

如何解决此问题以确保 MyCustomTheme 始终能够使用该产品?我正在考虑编辑我的 skins.xml 文件并将产品作为依赖项包含在内。

更新:产品的作者终于修复了这个错误。来自 0.3.2 的最新版本产品现在应该适用于所有皮肤。

4

1 回答 1

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>

并再次运行您的设置配置文件。

于 2012-11-05T09:25:53.297 回答