我发现最好的方法是创建一个支持这两种方案的自定义链接管理器.然后有一个支持配置设置,定义语言是否嵌入.
public class LanguageLinkProvider : LinkProvider
{
public override string GetItemUrl(Item item, UrlOptions urlOptions)
{
urlOptions.SiteResolving = Configuration.Settings.Rendering.SiteResolving;
string sites = ConfigurationManager.AppSettings["EmbedLanguageInUrl"];
var splitSites = new List<string>();
if (!string.IsNullOrEmpty(sites))
splitSites = sites.Split(';').ToList();
if (splitSites.Contains(urlOptions.Site.Name))
urlOptions.LanguageEmbedding = LanguageEmbedding.Always;
else
urlOptions.LanguageEmbedding = LanguageEmbedding.Never;
return base.GetItemUrl(item, urlOptions);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2061 次 |
| 最近记录: |