加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何获得Sitecore的主页?

发布时间:2020-12-15 06:17:23 所属栏目:百科 来源:网络整理
导读:如何在没有项目路径的情况下获取 http://www.mysite.com/en网站主页网址的主要部分?最终,我想将Model.Url附加到 这个: Sitecore.Links.UrlOptions urlOptions = new Sitecore.Links.UrlOptions();urlOptions.AlwaysIncludeServerUrl = true;url = Sitecore
如何在没有项目路径的情况下获取 http://www.mysite.com/en网站主页网址的主要部分?最终,我想将Model.Url附加到

这个:

Sitecore.Links.UrlOptions urlOptions = new Sitecore.Links.UrlOptions();
urlOptions.AlwaysIncludeServerUrl = true;
url = Sitecore.Links.LinkManager.GetItemUrl(Sitecore.Context.Item,urlOptions);

给我“http://www.mysite.com/en/undergraduate/business/new-information-landing-pages/Akron-stories”

Model.Url

给我“/本科/商业/新信息 – 登陆页面/阿克伦故事”

var context = new SitecoreContext();
url = context.GetHomeItem<Base_Page>().URL;

给我 ”/”

解决方法

您可以在linkprovider上的web.config中设置参数
<add name="sitecore" type="Sitecore.Links.LinkProvider,Sitecore.Kernel" addAspxExtension="false" alwaysIncludeServerUrl="false" encodeNames="true" languageEmbedding="Always" languageLocation="filePath" lowercaseUrls="false" shortenUrls="true" useDisplayName="false" />

或者在UrlOption上设置它

Sitecore.Links.UrlOptions urlOptions = UrlOptions.DefaultOptions;
urlOptions.LanguageEmbedding = LanguageEmbedding.Always;

// Fetch the start item from Site definition
var startItem = Sitecore.Context.Database.GetItem(Sitecore.Context.Site.ContentStartPath);

var url = Sitecore.Links.LinkManager.GetItemUrl(startItem,urlOptions);

还始终使用UrlOptions.DefaultOptions从linkmanager选项复制当前设置

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读