【问题标题】:How to create link without PGID如何在没有 PGID 的情况下创建链接
【发布时间】:2017-02-23 16:58:37
【问题描述】:

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

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

#sessionlessurl(Action(TargetPipeline))#

【问题讨论】:

    标签: intershop


    【解决方案1】:

    我目前创建没有 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 部分中轻松添加它们。

    【讨论】:

      【解决方案2】:

      我相信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 墨盒中,并相应记录了参数。

      【讨论】:

      • 其实很有趣,因为我已经在我们的项目中修改了这个标签 ;-) 谢谢你的提醒!
      猜你喜欢
      • 2021-10-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-05
      • 2012-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多