是否可以从.NET获取项目的别名网址?我可以使用Sitecore.Links.LinkProvider类来获取项目的默认网址,但我还没有找到获取别名网址的方法。
答案 0 :(得分:1)
我认为Sitecore API中没有一种内置方法可以做到这一点,但你可以试试这样的......
string query = String.Format("/*/system/Aliases//*[@@templateid='{0}' and contains(@Linked item, '{1}')]", Sitecore.TemplateIDs.Alias, Sitecore.Context.Item.ID);
Sitecore.Data.Items.Item alias = Sitecore.Context.Database.SelectSingleItem(query);
string aliasUrl = string.Empty;
if (alias != null) {
aliasUrl = String.Format("/{0}.aspx", alias.Name);
}
(我没有对此进行过测试,它基于我已经使用过的一些代码+其他一些其他的东西。)