Ответ 1
Вам нужен этот, если вы используете Sitecore v6.
Sitecore.Links.LinkManager.GetItemUrl(item);
Я знаю, что сделал это раньше, но я не могу вспомнить, где и как.
Я хочу создать ссылку на элемент в 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 v6.
Sitecore.Links.LinkManager.GetItemUrl(item);
Если вы все еще используете Sitecore 5.3, вы можете использовать это. Будьте осторожны, этот метод устарел в Sitecore 6.0.
string url = item.Paths.GetFriendlyUrl();
Ваш веб-контроль:
<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);
Вы можете отобразить ссылку на ссылку, как показано ниже:
Sitecore.Data.Items.Item itm = Sitecore.Context.Database.GetItem(someID);
return Sitecore.Links.LinkManager.GetItemUrl(itm);
Попробуйте это
<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);
Вы также можете сделать это:
Item.Paths.FullPath
Это то же самое, что:
Sitecore.Links.LinkManager.GetItemUrl(item);