テーマに埋め込まれたポートレットがあります。テーマがポートレットからパラメータ値を取得できる唯一の解決策は、中間データベースを使用することです。私がしたことは、ポートレットにテーブルを作成してから、テーマからこのテーブルにアクセスしようとしたことです。
ポートレットの Java コード:
ExpandoTable table=null;
try {
table = ExpandoTableLocalServiceUtil.addTable(CompanyLocalServiceUtil.getCompanies().get(0).getCompanyId(), User.class.getName(), "ClientTab");
}
catch ( DuplicateTableNameException dtne) {
table=ExpandoTableLocalServiceUtil.getTable(CompanyLocalServiceUtil.getCompanies().get(0).getCompanyId(), User.class.getName(), "ClientTab");
}
テーマの速度コード:
#set ($accountsTableName = "ClientTab")
#set ($accountsTable = $expandoTableLocalService.getTable($accountsTableName, $accountsTableName))
#if (!$accountsTable)
<h2> The table ClientTab doesn't exist </h2>
#else
<h2> Well The table ClientTab exists </h2>
#end
しかし、私が得た結果は次のとおりです。
テーブル ClientTab が存在しません
これらの参照を使用してコードを開発しました。
http://myjavaexp.blogspot.com/2013/01/liferay-expando-services.html
http://www.liferay.com/fr/web/raymond.auge/blog/-/blogs/715049