我们在公司使用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开发的新手,所以任何帮助都会受到赞赏。
感谢您的回复。
答案 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 { ... }