1

フォルダーに応じてレイアウトを変更する必要があるPlone(4.0.1)サイトがあります。次のような構造を想像してみてください。

University > Faculty A > Institute A1 > Person A11
                                      > Person A12
                       > Institute A2 > Person A21
...

これで、必要なすべてのリソース(カスタムcssファイル、画像など)をZODBに入れると、A11の人のページは、A学部フォルダーにあるfac-image.gifを自動的に取得します。

ただし、混乱を避けるために、fac-image.gifをユーザーに公開したくありません。(これはすべて、フレームワークの一部であり、とにかく触れることは想定されていません。)

リソースを登録すると、++ resource ++ theme.images / pathでアクセスできますが、親からの取得が行われていないため、++ resource ++ theme.images / facultyA / instituteA1 / fac-image.gif画像が見つかりません。さらに悪いことに、私は今維持するために別のディレクトリ構造を持っています。

私が現在行っているのは、ファイルシステムディレクトリビューを介して「ベストエフォート」トラバーサルプロセスを手動で実行することです。このビューは、サブディレクトリが存在しない場合(つまり、リソースツリーが存在しない場合)はそのままの状態を維持します。人物A11のサブディレクトリはありません。404と叫ぶ代わりに、研究所A1)にとどまり、バックアップを取得しようとします。portal_factoryとviewsにはいくつかのトリックが含まれていますが、私はもっと見逃していると確信しています。

だから:それは確かに人がそれをすることになっている方法ではありませんが、何ですか?

4

3 に答える 3

2

CSSを使用します。

選択した現在のセクション/学部/側面に基づいたクラスでタグにタグを付け、それらのクラスに基づいて画像を変更するだけです。ビジュアルデザインをコンテンツとは別にしてください。

于 2010-11-16T16:50:33.703 に答える
1

plone3のこのユースケースを実装するcollective.phantasyからあなたを刺激することができます(フォルダーコンテナーのl&fを変更します)。

于 2010-11-29T11:49:24.383 に答える
0

そうです。結局、コンテキストパスを調べてマングルし、それをファイルシステムディレクトリビューの別の場所にポイントするヘルパービューを登録することになりました。

于 2010-11-29T10:10:28.363 に答える