Hi all,
Just want to have some inputs on the following issues in my custom webcenter portal (ps4) and hear about the best way of doing that from people who has already done it...
1) Need to get all my pages having preety url something like http://mywebstie.com/hr, http://mywebsite.com/benefits
To address this, one option is having <af:goLink> with
PreetyUrl in destination instead of <af:commandLink> in page
template when iterating over navigation model, as the former will do a client
side redirect so that you will see URL change and the latter will do
server side redirect with PPR (so no URL change).
//Iterating navigation model to display the menu
<af:goLink id="pt_gl1" text="#{node.title}"
destination="#{node.goLinkPrettyUrl}"
targetFrame="#{node.attributes['Target']}"
inlineStyle="font-size:small;#{node.selected ? 'font-weight:bold;' : ''}">
<af:showPopupBehavior popupId="menuPopup" align="afterStart"
triggerType="mouseOver"/>
</af:goLink>
But this is not performant, as you will see a page load on each request.
If we go with <af:commandLink>, it will do the PPR navigation which is very performant but no URL change.
<af:commandLink id="pt_cl1" text="#{node.title}"
inlineStyle="font-size:small;#{node.selected ? 'font-weight:bold;' : ''}"
action="pprnav"
disabled="#{not node.navigable}"
actionListener="#{navigationContext.processAction}"
clientComponent="#{node.attributes['Target'] == '_popup' ? true : false}">
<!-- pass node to processAction for setting current selection and navigation -->
<f:attribute name="node" value="#{node}"/>
<af:showPopupBehavior popupId="menuPopup"
align="afterStart"
triggerType="mouseOver"/>