在页面 url 中获取布局
Getting Layouts in page url
我正在使用 Sitecore 8.1,我正在尝试从一般 link 字段中获取价值。
我面临以下问题:-
- 如果我使用 linkfield.url- 它会生成空值,我确实在 sitecore 中进行了检查,该字段中有一个值。
- 如果我使用 linkfield.getfriendlyurl()- Url 生成“http://hostname/layouts/language-code/page.aspx”,它包含不在内容树中的 "layouts"。
如果我删除 "var abc = item.Language.Name;" 这个语言代码,我在这里只能看到一件事,然后我就不会在 url.
中获得布局
在我的例子中,我必须在 URL 中添加语言。
请参阅下面的代码以供参考。
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);
如有任何帮助,我们将不胜感激。
请尝试下面给出的代码。我认为您缺少带有语言代码的“/”,因此它生成 URL 布局(物理文件夹名称)。
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);
我正在使用 Sitecore 8.1,我正在尝试从一般 link 字段中获取价值。
我面临以下问题:-
- 如果我使用 linkfield.url- 它会生成空值,我确实在 sitecore 中进行了检查,该字段中有一个值。
- 如果我使用 linkfield.getfriendlyurl()- Url 生成“http://hostname/layouts/language-code/page.aspx”,它包含不在内容树中的 "layouts"。 如果我删除 "var abc = item.Language.Name;" 这个语言代码,我在这里只能看到一件事,然后我就不会在 url. 中获得布局
在我的例子中,我必须在 URL 中添加语言。 请参阅下面的代码以供参考。
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);
如有任何帮助,我们将不胜感激。
请尝试下面给出的代码。我认为您缺少带有语言代码的“/”,因此它生成 URL 布局(物理文件夹名称)。
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);