Pascal Wasem | : | Hi! |
|
|
|
|
|
|
|
| I have some tabs in my jsp-file! |
|
|
|
|
|
|
|
| Like this: |
|
|
|
|
|
|
|
| As you can see the first tab contains a form with an input box
the second one a link!
Both create an actionUrl! |
|
|
|
|
|
|
|
| The Problem:
If I click the link in the second tab (->actionUrl), the second tab becomes unselected! |
|
|
|
|
|
|
|
| How to remember which tab was selected before the request? |
|
|
|
|
|
|
|
| By the way there ANY (detailed) documentation about how to use the liferay taglibs? |
|
|
|
|
|
|
|
| Thank you! |
|
|
|
|
|
|
|
| Best regards,
Pascal |
|
|
|
|
|
|
Mazhar Anwar | : | You can get last selected tab in you jsp from request parameter as follows, |
|
|
|
|
|
|
|
| <% String tabs1 = ParamUtil.getString(request, "tabs1", "Search");%> |
|
|
|
|
|
|
|
| And You need to create instance of PortletURL, |
|
|
|
|
|
|
|
| PortletURL portletURL = renderResponse.createRenderURL();
portletURL.setWindowState(WindowState.MAXIMIZED);
portletURL.setParameter("tabs1", tabs1); |
|
|
|
|
|
|
|
| AND |
|
|
|
|
|
|
|
| <liferay-ui:tabs
names="names="Search,Browse"
url="<%= portletURL.toString() %>"
/> |
|
|
|
|
| OR |
|
|
|
|
|
|
|
| <portlet:actionURL name="SelectProcess">
<portlet:param name="process" value="<%= someValue %>"/>
<portlet:param name="tabs1" value="<%=tabs1 %>" />;
</portlet:actionURL>" |
|
|
|
|
|
|
|
| For more details about Tabs taglibs you can explore the enterprise admin porlet in portal source. You will find it in portal/portal-web/docroot/html/portlet/enterprise_admin. |
|
|
|
|
|
|
|
|
|
|
| HTH...
Regards,
Mazhar |
|
|
|
|
|
|
Pascal Wasem | : | Hi Mazhar, |
|
|
|
|
|
|
|
| Thank you for your response!
But this only helped me partially.
Althoug I think I am on the right way. |
|
|
|
|
|
|
|
| I'am using this now in my jsp: |
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
| The problem is that even if I forward the tabs1-param in the action url it ALWAYS remains "Search". |
|
|
|
|
| It seems like the current selected tab is not stored in tabs1? |
|
|
|
|
|
|
|
| Although setting it to "Browse" in my Portlet-Class works fine! |
|
|
|
|
| |
|
|
|
|
|
|
|
| What am I missing!
Has it sth to do with param, url or refresh in <liferay-ui:tabs> ? |
|
|
|
|
|
|
|
| Thanks! |
|
|
|
|
|
|
|
| Best,
Pascal |
|
|
|
|
|
|
Sandeep Nair | : | Hi, |
|
|
|
|
|
|
|
| Use this along with the above changes |
|
|
|
|
| <liferay-ui:tabs names="Search,Browse" param="tabs1" refresh="<%= false %>"> |
|
|
|
|
|
|
|
| And in both the action pass the following parameter |
|
|
|
|
|
|
|
| <portlet:param name="tabs1" value="Search" /> in the first |
|
|
|
|
|
|
|
| and <portlet:param name="tabs1" value="Browse" /> in second |
|
|
|
|
|
|
|
| Regards
Sandeep |
|
|
|
|
|
|
Pascal Wasem | : | Thanks Sandeep, that did it! |
|
|
|
|
|
|
Gourab Kar | : | ok everybody out there... hi and greetings. |
|
|
|
|
|
|
|
| At last I solved the problem. I had to get inside liferay-UI:tabs tld's init jsp. |
|
|
|
|
|
|
|
| what we all did was
<liferay-ui:tabs
names="tabs1, tabs2" //"Skills,Notification" in my case
param="tab"
url="<someURL>"
/> |
|
|
|
|
|
|
|
| but we are missing a very highly critical info in tabs tag- that is 'value' or 'values'.
the param passes the tab string that we get as a string along with default value, but the value attribute is the main variable that defines the desired tab. |
|
|
|
|
|
|
|
| if we don't pass anything as value, then for every inner rendering/ request will make the default tab active. |
|
|
|
|
|
|
|
| so try this:
<liferay-ui:tabs
names="tabs1, tabs2" //"Skills,Notification" in my case
param="tab"
url="<someURL>"
value="tab1" //this will always keep tab1 active
/> |
|
|
|
|
|
|
|
| and this one:
<liferay-ui:tabs
names="tabs1, tabs2" //"Skills,Notification" in my case
param="tab"
url="<someURL>"
value="tab2" //this will always keep tabs2 active
/> |
|
|
|
|
|
|
|
| and finally this one:
<liferay-ui:tabs
names="tabs1, tabs2" //"Skills,Notification" in my case
param="tab"
url="<someURL>"
value="<%=currentTab%>"
/> //this will always keep the current value you are getting on tab |
|
|
|
|
|
|
|
| My sincere thanks to sandeep nair who worked with me on this and my senior Tarun who guided me. |
|
|
|
|
|
|
Anders Olme | : | How do you set the |
|
|
|
|
| <liferay-ui:tabs
names="tabs1, tabs2" //"Skills,Notification" in my case
param="tab"
url="<someURL>"
value="<%=currentTab%>"
/> |
|
|
|
|
|
|
|
| currentTab variable to to the correct value (or is it some kind of liferay system variable)? |
|
|
|
|
|
|
|
| Brg Anders Olme |
|
|
|
|
|
|
Gourab Kar | : | Yes values is a liferay's system parameter(variable) and <%=currentTab%> is the jsp scriptlet. |
|
|
|
|
|
|
|
| So for the first time when this portlet is loaded currentTab at the beginning will be null so the param will pass the initial value. |
|
|
|
|
| For every next iteration the currentTab will be what is set from the respective jsps as setAttribute |
|
|
|
|
|
|
|
| Eg: request.setAttribute("tab", <value of the tab that you want to pass>) |
|
|
|
|
|
|
|
| And this is received in another jsp, especially the init jsp as |
|
|
|
|
| currentTab = getAttribute("tab"); |
|
|
|
|
|
|
|
| <liferay-ui:tabs value=<%currentTab%>...> |
|
|
|
|
|
|
Anders Olme | : | Oki, thanks for the answer! |
|
|
|
|
|
|
|
| BRG Anders Olme |
No comments:
Post a Comment