構成の分類
構成インターフェースを登録すると、アプリケーションの UI が システム設定 → プラットフォーム → サードパーティで生成されます。 アプリケーションの設定UIが表示される場所に別のセクションとカテゴリーが必要な場合は、これを簡単に変更できます。
既存のカテゴリーの指定
利用可能なシステム設定のセクションは次のとおりです。 カテゴリーは次のセクションの下にネストされています。
- コマース
- プラットフォーム
- セキュリティ
- コンテンツとデータ
- その他
構成インターフェイスに@ExtendedObjectClassDefinitionアノテーションを配置して、UIのカテゴリーを指定します。 たとえば、ブログの下にUIを配置する場合は、@Meta.OCDアノテーションの上に次の行を追加します。
@ExtendedObjectClassDefinition(category = "blogs")
@ExtendedObjectClassDefinitionクラスをインポートします。
import com.liferay.portal.configuration.metatype.annotations.ExtendedObjectClassDefinition
アプリケーションを再デプロイすると、構成 UI は コンテンツとデータ → ブログの下に表示されます。
新しいセクションとカテゴリーの作成
独自のセクションとカテゴリーが必要な場合は、ConfigurationCategoryインターフェイスを実装して作成できます。
構成の設定とアクセスのサンプル プロジェクトに従った場合、このコードをアプリケーションの 構成 フォルダーに追加できます。 これは、構成インターフェースのJavaファイルを保持しているフォルダと同じです。 以下のコードは、foobarセクションとfoobarカテゴリーを作成します。
package com.acme.n2f3.web.internal.configuration;
import com.liferay.configuration.admin.category.ConfigurationCategory;
import org.osgi.service.component.annotations.Component;
@Component(service = ConfigurationCategory.class)
public class N2F3WebConfigurationCategory implements ConfigurationCategory {
@Override
public String getCategoryIcon() {
return _CATEGORY_ICON;
}
@Override
public String getCategoryKey() {
return _CATEGORY_KEY;
}
@Override
public String getCategorySection() {
return _CATEGORY_SECTION;
}
private static final String _CATEGORY_ICON = "foobar";
private static final String _CATEGORY_KEY = "foobar";
private static final String _CATEGORY_SECTION = "foobar";
}
サンプル プロジェクトの構成インターフェースの @ExtendedObjectClassDefinition アノテーションを category = "n2f3" から category = "foobar"に変更します。
カスタムセクションとカテゴリーの言語キーも、ローカライズファイルで指定する必要があります。 上記の例では、ポートレットのsrc/main/resources/content/フォルダにあるLanguage.propertiesファイルに次のキーを追加します。
category.foobar=Foobar
category-section.foobar=Foobar
サンプルプロジェクトを再デプロイして、変更を確認します。

これで、アプリケーションの構成UIがカスタムセクションとカスタムカテゴリーに配置されました。