我需要在基于 Websphere Portal 8 主题的自定义主题中创建的 portlet 皮肤中添加最大化、最小化和恢复按钮。目前,皮肤会使用这些生成下拉上下文菜单。
这在版本 6.1.5 和以前使用门户标签时很容易,但版本 7 和 8 大不相同,使用 json 和大量 javascript 来填充菜单,我不清楚这些操作的 url 是如何以及在哪里生成的. 信息中心的信息至少可以说不清楚!
有谁知道如何创建 url 以最小化和最大化皮肤中的 portlet?
我需要在基于 Websphere Portal 8 主题的自定义主题中创建的 portlet 皮肤中添加最大化、最小化和恢复按钮。目前,皮肤会使用这些生成下拉上下文菜单。
这在版本 6.1.5 和以前使用门户标签时很容易,但版本 7 和 8 大不相同,使用 json 和大量 javascript 来填充菜单,我不清楚这些操作的 url 是如何以及在哪里生成的. 信息中心的信息至少可以说不清楚!
有谁知道如何创建 url 以最小化和最大化皮肤中的 portlet?
似乎我找到了在页面上最大化和最小化 portlet 的方法,但是您需要尝试
当您按下上下文菜单按钮时,门户返回带有操作的 json,如下所示
{
"type":"Menuitem",
"actionUrl":"?uri=op:ibm.portal.operations.changeWindowState(%257B%2522windowState%2522%253A%2522normal%2522%252C%2522resourceURI%2522%253A%2522pm%253Aoid%253AZ7_MP8E1O42IGIT10IF8IR80N1052%2540oid%253AZ6_MP8E1O42IGIT10IF8IR80N10C0%2522%257D)",
"moduleArgs":"windowState=normal",
"visibilityFn":"wptheme.isValidOp",
"id":"ibm.portal.operations.changeWindowState",
"actionHttpMethod":"GET",
"title":{
"lang":"en",
"value":"Restore"
},
"description":{
"lang":"en",
"value":"Restore"
},
"metadata":{
"windowState":"normal",
"wid":"Z7_MP8E1O42IGIT10IF8IR80N1052"
}
},
当您按下 portelt 菜单操作时,例如最大化,您提交的链接是这样的
http://yuorhost:10039/wps/myportal/yourpage/!ut/p/b1/hdDLDoJADAXQT2ohyGOJgDAKaAhEmI0ZdcRRGEgkJPL1onELdH1uc1ugkAOVrBcl60QjWQUFFNQ4RQfTU_aaSnySKkg2JklMjBVcqZBXvGSXN6SyjiCrhRS1GPj1u4jqk0EHR1CMACfGxqX8EeiPOL4daEaI6B8MC4m7tjCKCfp7fQlofzDXYbbFToE4aGoOW6Bl1ZzHf41XPbV71ttAXx3rOORNyyW01WMI9cS7uaH9AdoyOYI!/dl4/d5/L2dBISEvZ0FBIS9nQSEh/?uri=op:ibm.portal.operations.changeWindowState(%257B%2522windowState%2522%253A%2522maximized%2522%252C%2522resourceURI%2522%253A%2522pm%253Aoid%253AZ7_MP8E1O42IGIT10IF8IR80N1052%2540oid%253AZ6_MP8E1O42IGIT10IF8IR80N10C0%2522%257D)
你对这部分感兴趣
?uri=op:ibm.portal.operations.changeWindowState(%257B%2522windowState%2522%253A%2522maximized%2522%252C%2522resourceURI%2522%253A%2522pm%253Aoid%253AZ7_MP8E1O42IGIT10IF8IR80N1052%2540oid%253AZ6_MP8E1O42IGIT10IF8IR80N10C0%2522%257D)
这是上面 json 中的动作 uri。例如,如果你用这个( http://meyerweb.com/eric/tools/dencoder/ )解码这个字符串两次,你会得到
{"windowState":"maximized","resourceURI":"pm:oid:Z7_MP8E1O42IGIT10IF8IR80N1052@oid:Z6_MP8E1O42IGIT10IF8IR80N10C0"}
pm:oid: = portlet id, oid: = 页面 id。
因此,要 mazimize\minimize portlet,您需要使用解码参数在当前页面上构造链接\发送 get,您可以从 json 中看到另一个操作。
此外,我相信要使这项工作正常进行,您需要在自定义主题中包含门户页面构建器主题 javascript 和其他内容。
希望这可以帮助