1

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があります。アクティベートするとアドオン製品の機能が使えなくなりますが、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 に答える