Подтвердить что ты не робот

Создать ссылку на Sitecore 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
4b9b3361

Ответ 1

Вам нужен этот, если вы используете Sitecore v6.

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