创建Sitecore项目的链接

时间:2009-03-23 17:13:20

标签: sitecore sitecore6

我知道我以前做过这件事,但我似乎无法记住在哪里或如何。

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

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

6 个答案:

答案 0 :(得分:36)

你需要这个,假设你正在运行Sitecore v6或更新的东西(用8.2-6测试,也应该用9):

Sitecore.Links.LinkManager.GetItemUrl(item);

答案 1 :(得分:4)

如果您仍在使用Sitecore 5.3,则可以使用此功能。请注意,Sitecore 6.0中不推荐使用此方法。

string url = item.Paths.GetFriendlyUrl();

答案 2 :(得分:1)

您的网络控制:

<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);

答案 3 :(得分:1)

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

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

答案 4 :(得分:0)

试试这个

  <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);

答案 5 :(得分:-6)

你也可以这样做:

Item.Paths.FullPath

与:

相同
Sitecore.Links.LinkManager.GetItemUrl(item);