cancel
Showing results for 
Search instead for 
Did you mean: 

Linking to an IView within an IView with additonal HTTP parameters

Former Member
0 Kudos

I working with an iview that has a link back to itself with added http parameters. What is happening is the breadcrumbs and trays are disappearing when calling the iview using a link htmlb object. All the data displays correctly and reads the incoming parameters.

How do I call the iview like the portal does when its setup through content administration so I am using the setting that are contained in content administration. I.E. the breadcrumbs and trays are displaying.

An example using the link htmlb object would be great.

Thanks,

Stephen

Accepted Solutions (0)

Answers (3)

Answers (3)

detlev_beutner
Active Contributor
0 Kudos

Hi Stephen, hi Frank

for different possibilities to determine the actual page URL from client (JS) or server (NavigationEventsHelperService) side, see /thread/14433 [original link is broken]

Frank: Changing your e-mail address to your btexx account will add your points to the btexx-points-pool

Hope it helps

Detlev

Former Member
0 Kudos

Hi Stephen,

instead of linking to the iview itself, you should use

the EPCM.doNavigate() method to navigate to the same

page. The breadcrumb is part of the page and not part of the iview.

Use the folowing method to retrieve the page url of an iview:

=======================================================


        protected String getPageUrl(IPortalComponentRequest request) {
		IPortalComponentContext context = request.getComponentContext();
		
		String cName = context.getContextName();
		
		String iview = "";
		StringTokenizer st = new StringTokenizer(cName, "/");
		while(st.hasMoreTokens()) {
			iview = st.nextToken();
		}
		
		cName = cName.substring(4);
		cName = "ROLES://" + cName.substring(0, cName.indexOf(iview)-1);
		
		return cName;
	}

=======================================================

The following method triggers the call of the page


	protected void doNavigate(String targetUrl) {
		StringBuffer sb = new StringBuffer();
		sb.append("<script>");
		sb.append("EPCM.doNavigate('" + targetUrl + "')");
		sb.append("</script>");		
		IPortalComponentResponse response = (IPortalComponentResponse)getResponse();
		response.write(sb.toString());
	}

=====================================================

You may add url parameters to the targetUrl

The page must transfer the url parameters to the iview.

You have to set an parameter in the portalapp.xml to enable this:


<component-profile> 
     <property name="com.sap.portal.reserved.iview.ParamList" value="*"/>
</component-profile>	

good luck

frank

MartyMcCormick
Product and Topic Expert
Product and Topic Expert
0 Kudos

hi Stephen,

Try switching your iView isolation type from "EMBEDDED" to "URL". This is done by editing the iView properties, under the Load property category.

Hope this fixes your problem.

Regards,

Marty