【问题标题】:Create link to Sitecore Item创建指向 Sitecore 项目的链接
【发布时间】:2009-03-23 17:13:19
【问题描述】:

我知道我以前这样做过,但我似乎不记得在哪里或如何。

我想在 Sitecore 中创建一个项目的链接。 这段代码:

Sitecore.Data.Items.Item itm = Sitecore.Context.Database.GetItem(someID);
return itm.Paths.Path.ToString();

产生以下字符串:

http://localhost/sitecore/content/Home/Item1/Item11/thisItem

我想用这个字符串代替:

http://localhost/Item1/Item11/thisItem.aspx

获取项目路径的正确方法是什么?在这种情况下,我无法使用普通的 Sitecore 链接:

Sitecore.Web.UI.WebControls.Link

【问题讨论】:

    标签: sitecore sitecore6


    【解决方案1】:

    假设您运行的是 Sitecore v6 或更新版本(使用 8.2-6 测试,也应该使用 9),您需要这个:

    Sitecore.Links.LinkManager.GetItemUrl(item);
    

    【讨论】:

      【解决方案2】:

      如果您仍在使用 Sitecore 5.3,您可以使用它。请注意,此方法在 Sitecore 6.0 中已弃用。

      string url = item.Paths.GetFriendlyUrl();
      

      【讨论】:

        【解决方案3】:

        您的网络控制:

        <asp:HyperLink ID="HyperLinkItem" runat="server">
            Item
        </asp:HyperLink>
        

        您的代码:

        var homeItem = Sitecore.Context.Database.GetItem("/sitecore/content/Home");
        HyperLinkItem.NavigateUrl = Sitecore.Links.LinkManager.GetItemUrl(homeItem);
        

        【讨论】:

          【解决方案4】:

          您可以如下呈现项目链接:

          Sitecore.Data.Items.Item itm = Sitecore.Context.Database.GetItem(someID);
          return Sitecore.Links.LinkManager.GetItemUrl(itm);
          

          【讨论】:

            【解决方案5】:

            试试这个

              <asp:HyperLink ID="hlItem" runat="server">
            
                </asp:HyperLink>
            

            aspx.cs

               Sitecore.Data.Items.Item itm = Sitecore.Context.Database.GetItem("/sitecore/content/Home");
            
                hlItem.Navigateurl =sitecore.links.linkmanager.getitemurl(itm);
            

            【讨论】:

              【解决方案6】:

              你也可以这样做:

              Item.Paths.FullPath
              

              同理:

              Sitecore.Links.LinkManager.GetItemUrl(item);
              

              【讨论】:

              • 不,完全不一样。 FullPath 返回项目路径,GetItemUrl() 使用 LinkProvider 创建一个友好的 URL。
              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-03-24
              • 1970-01-01
              • 2021-06-05
              • 2012-05-10
              相关资源
              最近更新 更多