2016-03-29 3 views
1

Ich arbeite an Sitecore 8.1 und ich versuche, Wert von allgemeinen Link Feld zu erhalten.Get Layouts in der Seite url

ich unten Fragen bin vor: -

  1. Wenn ich verwende linkfield.url- Es ist Nullwert erzeugt, habe ich in Sitecores zu überprüfen und es gibt einen Wert im Feld.
  2. Wenn ich linkfield.getfriendlyurl() verwenden - Url generating "http://hostname/layouts/language-code/page.aspx" es enthält "Layouts", die nicht im Inhaltsbaum ist. Nur eine Sache kann ich hier sehen, wenn ich "var abc = item.Language.Name;" Dieser Sprachcode, dann bekomme ich keine Layouts in URL.

In meinem Fall muss ich die Sprache in URL hinzufügen. Bitte beachten Sie unten Code als Referenz.

Sitecore.Data.Fields.LinkField linkField = item.Fields["Link"]; 
    var opts = (UrlOptions)UrlOptions.DefaultOptions.Clone(); 
    hlLink.NavigateUrl = item.Language.Name + Sitecore.Links.LinkManager.GetItemUrl(linkField.TargetItem,opts); 

Jede Hilfe wäre willkommen.

+2

http://stackoverflow.com/questions/1919954/generallink-in-sitecore –

Antwort

1

Bitte versuchen Sie unten angegebenen Code Ich denke, Sie fehlen "/" mit Sprachcode und deshalb erzeugt es URL mit Layouts (Physical Folder Name).

Sitecore.Data.Fields.LinkField linkField = item.Fields["Link"]; 
    var opts = (UrlOptions)UrlOptions.DefaultOptions.Clone(); 
    hlLink.NavigateUrl = "/"+ item.Language.Name + Sitecore.Links.LinkManager.GetItemUrl(linkField.TargetItem,opts); 

Ich hoffe, das wird Ihnen helfen.

Bitte lassen Sie mich wissen, wenn Sie noch das gleiche Problem haben.

+0

Dank @yogesh hat es für mich gearbeitet! – Arpit

+0

Freut mich, Arpit zu hören !! –