使用 dnn 多语言 9.1.1,我需要在所有页面的标题中插入 hreflang 元数据。
<link rel="alternate" hreflang="it" href="http://www.acme.com/it/" title="Italian">
<link rel="alternate" hreflang="en" href="http://www.acme.com/en/" title="English">
<link rel="alternate" hreflang="de" href="http://www.acme.com/de/" title="German">
我找到了使用以下方法获取 CurrentUrl 的方法:
DotNetNuke.Entities.Tabs.TabController.CurrentPage.FullUrl
我发现在 SitemapBuilder.cs 中有一些实现备用 hreflang 的注释代码:
private void AddURL(SitemapUrl sitemapUrl, XmlWriter writer)
{
writer.WriteStartElement("url");
writer.WriteElementString("loc", sitemapUrl.Url);
writer.WriteElementString("lastmod", sitemapUrl.LastModified.ToString("yyyy-MM-dd"));
writer.WriteElementString("changefreq", sitemapUrl.ChangeFrequency.ToString().ToLower());
writer.WriteElementString("priority", sitemapUrl.Priority.ToString("F01", CultureInfo.InvariantCulture));
//if (sitemapUrl.AlternateUrls != null)
//{
// foreach (AlternateUrl alternate in sitemapUrl.AlternateUrls)
// {
// writer.WriteStartElement("link", "http://www.w3.org/1999/xhtml");
// writer.WriteAttributeString("rel", "alternate");
// writer.WriteAttributeString("hreflang", alternate.Language);
// writer.WriteAttributeString("href", alternate.Url);
// writer.WriteEndElement();
// }
//}
writer.WriteEndElement();
}
如何获取当前页面的所有备用 URL?