管理アプリのアクションメニューの構成
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、こちらまでご連絡ください。
アプリのさまざまなビューにアクションを持つ一連のボタンまたはメニューがある場合、これらのすべてのアクションを管理ポートレットの右上のメニューに移動して、プライマリアクション(多くの場合 "追加"操作)を残すことができ 追加メニューに表示されます。 たとえば、Webコンテンツアプリケーションには、以下に示すアクションメニューがあります。
次の手順に従って、管理アプリのアクションメニューを構成します。
-
BasePortletConfigurationIcon
クラス を拡張し、PortletConfigurationIcon
サービスを実装するアクションの* ConfigurationIcon
コンポーネントクラスを作成します。@Component( immediate = true, service = PortletConfigurationIcon.class ) public class MyConfigurationIcon extends BasePortletConfigurationIcon { ... }
-
getMessage()
メソッドをオーバーライドして、アクションのラベルを指定します。@Override public String getMessage(PortletRequest portletRequest) { ThemeDisplay themeDisplay = (ThemeDisplay)portletRequest.getAttribute( WebKeys.THEME_DISPLAY); ResourceBundle resourceBundle = ResourceBundleUtil.getBundle( themeDisplay.getLocale(), ExportAllConfigurationIcon.class); return LanguageUtil.get(resourceBundle, "export-all-settings"); }
-
get()
メソッドをオーバーライドして、GET
メソッドまたはPOST
メソッドでアクションを呼び出すかどうかを指定します。@Override public String getMethod() { return "GET"; }
-
アクションがクリックされたときに呼び出すURL(または
onClick
JavaScriptメソッド)を指定するには、getURL()
メソッドをオーバーライドします。@Override public String getURL( PortletRequest portletRequest, PortletResponse portletResponse) { LiferayPortletURL liferayPortletURL = (LiferayPortletURL)_portal.getControlPanelPortletURL( portletRequest, ConfigurationAdminPortletKeys.SYSTEM_SETTINGS, PortletRequest.RESOURCE_PHASE); liferayPortletURL.setResourceID("export"); return liferayPortletURL.toString(); }
-
getWeight()
メソッドをオーバーライドして、アクションがリストに表示される順序を指定します。@Override public double getWeight() { return 1; }
-
isShow()
メソッドをオーバーライドして、アクションを表示するコンテキストを指定します。@Override public boolean isShow(PortletRequest portletRequest) { return true; }
-
構成オプションを表示するビューを定義します。 デフォルトでは、ポートレットが
mvcPath
使用する場合、ポートレットjavax.portlet.init-paramの初期化パラメーターで指定されたJSPのグローバルアクション(構成、エクスポート/インポート、最大化など)が表示されます。 view-template = / view.jsp
。 この値は、グローバルアクションを表示するJSPを示します。 ただし、ポートレットがMVCコマンドを使用する場合、グローバルアクションのビューは初期化パラメーターjavax.portlet.init-param.mvc-command-names-default-views = / wiki_admin / view
で指定する必要があり、値はグローバルアクションを表示するmvcRenderCommandName
が含まれます。 -
ポートレットをページに追加でき、常に構成オプションを含める場合は、この初期化パラメータをポートレットのプロパティに追加します。
javax.portlet.init-param.always-display-default-configuration-icons=true
この例では、システム設定ポートレットにアクションが表示されます。 セカンダリ画面に表示するには、以下に示すように パス
プロパティを使用できます。 パス
プロパティの値は、アプリの開発に使用されるMVCフレームワークによって異なります。 MVCPortletフレームワークの場合、 mvcPath
パラメーターからのパス(多くの場合JSP)を提供します。 MVCコマンドを使用したMVCPortletの場合、パスにはアクションが表示される mvcRenderCommandName
が含まれている必要があります(たとえば、 / document_library / edit_folder
など)。
``` java
@Component(
immediate = true,
property = {
"javax.portlet.name=" + ConfigurationAdminPortletKeys.SYSTEM_SETTINGS,
"path=/view_factory_instances"
},
service = PortletConfigurationIcon.class
)
public class ExportFactoryInstancesIcon extends BasePortletConfigurationIcon {
@Override
public String getMessage(PortletRequest portletRequest) {
ThemeDisplay themeDisplay = (ThemeDisplay)portletRequest.getAttribute(
WebKeys.THEME_DISPLAY);
ResourceBundle resourceBundle = ResourceBundleUtil.getBundle(
themeDisplay.getLocale(), ExportFactoryInstancesIcon.class);
return LanguageUtil.get(resourceBundle, "export-entries");
}
@Override
public String getMethod() {
return "GET";
}
@Override
public String getURL(
PortletRequest portletRequest, PortletResponse portletResponse) {
LiferayPortletURL liferayPortletURL =
(LiferayPortletURL)_portal.getControlPanelPortletURL(
portletRequest, ConfigurationAdminPortletKeys.SYSTEM_SETTINGS,
PortletRequest.RESOURCE_PHASE);
ConfigurationModel factoryConfigurationModel =
(ConfigurationModel)portletRequest.getAttribute(
ConfigurationAdminWebKeys.FACTORY_CONFIGURATION_MODEL);
liferayPortletURL.setParameter(
"factoryPid", factoryConfigurationModel.getFactoryPid());
liferayPortletURL.setResourceID("export");
return liferayPortletURL.toString();
}
@Override
public double getWeight() {
return 1;
}
@Override
public boolean isShow(PortletRequest portletRequest) {
ConfigurationModelIterator configurationModelIterator =
(ConfigurationModelIterator)portletRequest.getAttribute(
ConfigurationAdminWebKeys.CONFIGURATION_MODEL_ITERATOR);
if (configurationModelIterator.getTotal() > 0) {
return true;
}
return false;
}
@Reference
private Portal _portal;
}
```
これは利用可能な方法の一部をカバーしています。 参照してください Javadocの 利用可能なメソッドの完全なリストについて。
すばらしいです\! これで、管理アプリのアクションを構成する方法がわかりました。