3

を使用するToolManagerと、現在の配置、コンテキスト、そしてもちろんサイトを から取得できますSiteService。しかし、ユーザーが現在アクセスしている現在の SitePage プロパティを取得したいと考えています。

この疑いは、ツールを取得すると、そのプロパティをカバーするメソッドを見つけることができなかったことを考えると、もう少し強調して現在のツール プロパティに拡張できます。

ツールのプロパティを取得できたので、Propertiesgot withを使用して (インスタンスで) 使用していますsitepage.getTool(TOOLID).getConfig()。プロパティを保存するには、アプローチを使用し、メソッドToolConfigurationで編集した後にデータを保存しています。ToolConfiguration.save()それは正しいアプローチですか?

4

1 に答える 1

4

これを行うには、現在のツール セッションを取得し、そこから逆方向に作業します。これがそれを行うべき方法です。

public SitePage findCurrentPage() {
  SitePage sp = null;
  ToolSession ts = SessionManager.getCurrentToolSession();
  if (ts != null) {
    ToolConfiguration tool = SiteService.findTool(ts.getPlacementId());
    if (tool != null) {
      String sitePageId = tool.getPageId();
      sp = s.getPage(sitePageId);
    }
  }
  return sp;
}

または、現在のツールを使用して作業することもできますが、この方法は難しいと思います。

String toolId = toolManager.getCurrentTool().getId();
String context = toolManager.getCurrentPlacement().getContext();
Site s = siteService.getSite( context );
ToolConfiguration tc = s.getTool(toolId);
String sitePageId = tc.getPageId();
SitePage sp = s.getPage(sitePageId);

: このコードが機能することを確認するためのテストは行っていません。

于 2014-08-13T18:41:50.670 に答える