ISMLレベルでPGIDを使用せずにリンクを作成する方法は?PGIDなしでリンクを作成する方法
次のコードは、URL内のセッションIDを回避するのに最適ですが、URLの末尾にPGIDを追加します。
#sessionlessurl(Action(TargetPipeline))#
ISMLレベルでPGIDを使用せずにリンクを作成する方法は?PGIDなしでリンクを作成する方法
次のコードは、URL内のセッションIDを回避するのに最適ですが、URLの末尾にPGIDを追加します。
#sessionlessurl(Action(TargetPipeline))#
あなたは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#">" />
実装SetCanonicalLinkTag
はcore
カートリッジ内に配置され、パラメータがそれに応じて文書化されています。
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部分内にあります。
私のプロジェクトですでにこのタグを変更しているので、実際に面白い;-)注意してくれてありがとう! –