如何在liferay搜索钩子中获取FileEntry对象

时间:2014-08-28 11:22:13

标签: jsp search liferay hook

我们在公司使用Liferay 6.1.3社区版。

我想编辑搜索关键字(main_search_result_form.jsp)后显示的搜索结果页面,以允许用户下载最新的文档版本。因此,用户不会被重定向到文档库页面,而只会下载文件。

我认为解决方案是为文档创建钩子和更改URL。我找到了创建URL的代码:

downloadUrl = DLUtil.getPreviewURL(fileEntry, fileEntry.getFileVersion(), themeDisplay, StringPool.BLANK, false, true);

但我无法弄清楚如何在jsp中获取FileEntry对象。我发现只有Document对象。我不知道如何创建下载文件的URL。我希望这是解决问题的正确方法。

我是Liferay开发的新手,所以任何帮助都会受到赞赏。

感谢您的回复。

1 个答案:

答案 0 :(得分:1)

解决方案一如既往地简单......

long dlFileEntryId = assetRenderer.getClassPK(); 
if (enableDirectDocumentOpenHook && assetRendererFactory.getType().equals("document")) {
  FileEntry fileEntry = DLAppLocalServiceUtil.getFileEntry(dlFileEntryId);
  FileVersion fileVersion = (FileVersion) fileEntry.getLatestFileVersion();
  downloadUrl = DLUtil.getPreviewURL(fileEntry, fileVersion, themeDisplay, StringPool.BLANK, false, true); 
} else { ... }