2013-07-08 3 views
1

У меня есть требование добавить кнопки максимизации, минимизации и восстановления в портлет портлета, созданные в пользовательской теме на основе темы Websphere Portal 8. В настоящее время скин создает контекстное меню выпадающего меню.Websphere Portal 8 добавляет минимизацию и максимизацию кнопок на коже

Это было легко в версии 6.1.5 и предыдущем, используя теги портала, но версии 7 и 8 существенно отличаются и используют json и jamscript для заполнения меню, и я не понимаю, как и где URL-адреса для этих действий. Информация в инфоцентре неясна, если не сказать больше!

Кто-нибудь знает, как создать URL-адреса, чтобы свести к минимуму и увеличить портлеты с кожи?

ответ

2

Кажется, я нашел способ максимизировать и минимизировать портлет на странице, но вы должны попробовать

При нажатии контекстного меню Buttom портала возврата 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) 

Это действие uri от json выше. Если расшифровать эту строку дважды с этим, например (http://meyerweb.com/eric/tools/dencoder/) вы получите

{"windowState":"maximized","resourceURI":"pm:oid:[email protected]:Z6_MP8E1O42IGIT10IF8IR80N10C0"} 

вечера: OID: = портлет идентификатор, подъязычная: = идентификатор страницы.

Таким образом, для мазимирования \ минимизации портлета вам необходимо построить ссылку \ отправить на текущей странице с расшифрованными параметрами, а также другие действия, которые вы можете увидеть из json.

Кроме того, я верю, что это сработало, вам нужно включить JavaScript-конструктор javascript и другие вещи в вашей пользовательской теме.

Надеюсь, что это поможет

Смежные вопросы