2012-02-29 14 views
0

HTMLフラグメントを内部に挿入できるモジュールを作成しました。OpenCMS:モジュールからVFS/sites/default/HTMLファイルにアクセスする方法

これらのHTMLフラグメント(プレーンHTMLページ)は、CMSのユーザーが仮想ファイルシステム/ sites/default /に作成します。

モジュールからHTMLファイルにアクセスして、生成されたページに挿入できますか?どうやって?

iFrameを使用すると画像やリンクは正常に動作します...これらの要素はすべてsrc属性を持っているためです。例えば:しかし

<iframe src="/opencms/demo_en/myfile.html"></iframe> 

、私はOpenCmsのタグに< CMSを使用します。>やJSPタグ< JSPが含まれます。include>それはなぜ...動作しませんか?

<cms:include page="/opencms/demo_en/myfile.html"></cms:include> 

スロー:

org.opencms.file.CmsVfsResourceNotFoundException: Unable to read resource "/opencms/demo_en/myfile.html" 

を、それが権限の問題だろうか?

私はiFrameでこれを行う必要がありますか?このHTMLリソースにアクセスして埋め込むためのより良い方法はありますか?

ありがとうございます!

答えて

0

「モジュールからアクセスできますか」と言っているときは、/system/modules/foo.bar.qux.my.module /の意味です。そうではありませんか?

この場合、正しいパスを使用していないため、このエラーが発生しています。

の例では、あなたの場合には次のようになります。

ごモジュール内あなたは「/」コンテキストではなく、「/サイト/デフォルト/」文脈の下に位置していますので、
<cms:include page="/sites/default/demo_en/myfile.html"></cms:include> 

、その手段ファイルを含めるためにVFS内のパスを完全修飾する必要があることを示します。

この例では絶対パスでパスを指定していますが、相対パスを使用することもできます。../と./を使用すると、フォルダ内をナビゲートできます。私は絶対パスをお勧めします。

関連する問題