在使用Plone时,我需要使用图像映射。所以我在我的版本中添加了this产品。但是,我注意到我无法在我的应用程序中使用该产品。经过调查,我注意到这个特定的产品已经指定了要使用的特定主题,即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产品的最新版本现在可以适用于所有皮肤。
答案 0 :(得分: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>
再次运行您的设置配置文件。