2

Liferay ポータル環境で使用されている Struts ポートレットがあります。これまで、標準のリソース ファイルを使用してリソース文字列をローカライズしてきました。<bean:message>タグを使用してポートレットからメッセージ バンドルにアクセスできますが、うまく機能します。たとえば、JSP ファイルで次のラベルを定義したフォームがあるとします。

...
<label for="firstname">
    <bean:message key='labels.firstname'/>
</label>
...

これは、コンパイル後に変更されない短い文字列に対してはうまく機能します。文字列を適切にローカライズし、ポートレットをコンパイルすると、問題なく動作します。

問題:ポータル コンテンツの作成者が、コンパイル後にポートレットで使用されるコンテンツをオンザフライで変更できるようにする必要があります。私が最初に考えたのは、Liferay の Web コンテンツ システムを使用して、ポートレットの JSP ファイルからアクセスできるローカライズされた Web コンテンツをコンテンツ作成者が作成できるようにすることでした。

質問:ポートレット内から Liferay Web コンテンツにアクセスする方法はありますか?

4

2 に答える 2

9

CMS の「記事」のコンテンツを表示する liferay-ui のタグがあります。

<liferay-ui:journal-article articleId="YOUR_ARTICLE_ID" groupId="<%= groupId %>" />

ここで説明されているように、たとえば変数「利用規約」を表示するために使用できます

より柔軟なアプローチのためのコンテンツ表示ポートレット jsps にもヒントがあります。

于 2009-06-16T11:50:44.063 に答える
1

Liferayに含まれているコンテンツ管理システムを見たことがありますか?それはあなたのニーズへの答えかもしれません。これにより、コンテンツ作成者はCMSでコンテンツを作成でき、そこからコンテンツを取り込むテンプレートJSPを作成できます。

Liferay CMS

于 2009-06-12T20:00:56.917 に答える