【问题标题】:Getting Layouts in page url在页面 url 中获取布局
【发布时间】:2016-03-29 09:16:54
【问题描述】:

我正在开发 Sitecore 8.1,我正在尝试从通用链接字段中获取价值。

我面临以下问题:-

  1. 如果我使用的是 linkfield.url- 它会生成空值,我确实检查了 sitecore 并且该字段中有一个值。
  2. 如果我使用的是 linkfield.getfriendlyurl() - Url 正在生成“http://hostname/layouts/language-code/page.aspx”,它包含不在内容树中的“布局”。 如果我要删除“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);

任何帮助将不胜感激。

【问题讨论】:

标签: sitecore sitecore8


【解决方案1】:

请尝试下面给出的代码。我认为您缺少带有语言代码的“/”,因此它正在生成带有布局的 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);

【讨论】:

  • 很高兴听到 Arpit!
猜你喜欢
  • 2018-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多