-1

我正在使用 6.0.6 CE 来开发一个页面有两个 portlet 的需求。一个在左边,另一个在右手边。1. 为给定社区加载树结构中的文件夹列表的自定义 portlet。在这里,我使用 jQuery zTree,其中 doView 让我得到 JSON 数组中的文件夹列表。 http://www.ztree.me/v3/demo.php#_102

  1. 文档库 portlet

每个节点文件夹都有文档库的 URL,例如:http: //yourdomain.com/web/oracle/home/-/document_library/view/11614

当我单击其中任何一个时,会重新加载整个页面,DL portlet 会显示给定文件夹 id 11614 的子文件夹。但是由于这个左侧的树结构被折叠了。

我想在左侧保留用户选择。为此,我只想在单击文件夹时仅呈现文档库 portlet,但我无法通过任何 IPC 实现它。

任何建议,将不胜感激。

谢谢普拉萨德

4

1 回答 1

0

目前我正在遵循这种方法:在页面加载期间,我从 URL 和 doView() 中获取 folderId,我将其作为 renderRequest 参数传递。long selectedFolderId = 0;

String friendlyUrlValue = PortalUtil.getCurrentURL(renderRequest);

String[] urlArray = friendlyUrlValue.split("/");
String secondLastword = urlArray[urlArray.length - 2];
if (urlArray.length > 0) {
    if (secondLastword.equalsIgnoreCase("view")) {
        selectedFolderId = Long.valueOf(urlArray[urlArray.length - 1]);
    }
}


JSONObject jSONObject = JSONFactoryUtil.createJSONObject();
createJson(themeDisplay.getScopeGroupId(), 0, jSONObject, renderRequest, fridendlyUrl);

if(selectedFolderId>0){
    renderRequest.setAttribute("selectedFId", String.valueOf(selectedFolderId));
}

参考这篇文章https://www.liferay.com/community/forums/-/message_boards/message/47300920

应该有另一种方法来实现仅重新加载文档库 portlet 而不是重新加载整个页面。请让我知道是否有更好的方法。

于 2015-01-05T10:19:19.440 回答