sitecore sitecore6

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