2016-10-14 4 views
4

ISML 수준에서 PGID없이 링크를 만드는 방법은 무엇입니까?PGID없이 링크를 만드는 방법

다음 코드는 URL에서 세션 ID를 피하는 데 적합하지만 여전히 URL 끝에 PGID를 추가합니다.

#sessionlessurl(Action(TargetPipeline))# 

답변

3

저는 sessionlessurl으로는이 작업을 수행 할 수 없다고 생각하며,이를 수행 할 수있는 ISML 기능이 없다고 생각합니다. 그러나 정식 링크를 생성하는 데 사용되는 사용자 정의 태그가 있으며이를 사용할 수도 있습니다. 이 태그의 이름은 issetcanonicallink입니다. 다음 코드 예이다

<issetcanonicallink 
    scope="request" 
    name="CanonicalLink" 
    action="ViewStandardCatalog-Browse" 
    parameters="#ParameterList(Parameter('CatalogID', CategoryBO:CatalogBO:Name), Parameter('CategoryName', CategoryBO:Name))#"> 

<link rel="canonical" href="<isprint encoding="off" value="#CanonicalLink#">" /> 

구현 SetCanonicalLinkTagcore 카트리지에 있으며, 따라서 파라미터가 기록된다.

+0

사실이 프로젝트에서이 태그를 수정 한 이후 실제로 재미 있습니다 ;-) 알림을 보내 주셔서 감사합니다! –

0

나의 현재 솔루션은 SID와 pgid가없는 URL을 만들 수는 이것이다 :

<% 
    String targetPipeline = getPipelineDictionary().get("targetPipeline"); 
    URLPipelineAction action = new URLPipelineAction(targetPipeline); 
    action.setAppendPGID(false); 



    // Default Link 
    String myDefaultLink = TemplateURLComposition.getTemplateExecutionConfig().getURLComposer().createURL(false, null, null, null, action, null); 
    getPipelineDictionary().put("myDefaultLink", myDefaultLink); 

%> 

<isprint value="#myDefaultLink#"> 

적은 JSP를 사용하는 더 나은 일 : URLParameters 누락을 추가 부담하지만 당신은 쉽게 추가 할 수 있습니다 그것들은 JSP 부분에서도 마찬가지입니다.

관련 문제