2016-10-14 2 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を使用して、より良い1 :) URLParametersが欠落しているを追加すること自由に感じていますが簡単に追加することができますそれらもJSP部分内にあります。

関連する問題