Crear enlace al elemento Sitecore
sitecore6 (6)
Necesitas este, suponiendo que estés ejecutando Sitecore v6 o algo más reciente (probado con 8.2-6, también debería funcionar con 9):
Sitecore.Links.LinkManager.GetItemUrl(item);
Sé que he hecho esto antes, pero parece que no puedo recordar dónde o cómo.
Quiero crear un enlace a un artículo en Sitecore. Este codigo
Sitecore.Data.Items.Item itm = Sitecore.Context.Database.GetItem(someID);
return itm.Paths.Path.ToString();
Produce la siguiente cadena:
http://localhost/sitecore/content/Home/Item1/Item11/thisItem
Me gustaría tener esta cadena en su lugar:
http://localhost/Item1/Item11/thisItem.aspx
¿Cuál es la forma correcta de obtener la ruta al elemento? En este caso no puedo usar un enlace normal de Sitecore:
Sitecore.Web.UI.WebControls.Link
Prueba esto
<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);
Puedes renderizar el enlace del artículo de la siguiente manera:
Sitecore.Data.Items.Item itm = Sitecore.Context.Database.GetItem(someID);
return Sitecore.Links.LinkManager.GetItemUrl(itm);
Si aún está utilizando Sitecore 5.3, puede usar esto. Tenga en cuenta que este método está en desuso en Sitecore 6.0.
string url = item.Paths.GetFriendlyUrl();
Su control web:
<asp:HyperLink ID="HyperLinkItem" runat="server">
Item
</asp:HyperLink>
Tu codigo:
var homeItem = Sitecore.Context.Database.GetItem("/sitecore/content/Home");
HyperLinkItem.NavigateUrl = Sitecore.Links.LinkManager.GetItemUrl(homeItem);
Usted puede hacer por esto también:
Item.Paths.FullPath
Es lo mismo que:
Sitecore.Links.LinkManager.GetItemUrl(item);