4

如何在 ISML 级别创建没有 PGID 的链接?

以下代码非常适合避免在 url 中使用 session id,但仍会在 url 末尾添加 PGID。

#sessionlessurl(Action(TargetPipeline))#
4

2 回答 2

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#">" />

该实施SetCanonicalLinkTag位于core墨盒中,并且相应地记录了参数。

于 2016-10-14T14:43:25.740 回答
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 部分中。

于 2016-10-14T10:18:54.200 回答