With dnn multilanguage 9.1.1 I need to insert hreflang meta in the headers of all pages.
<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">
I found the way to get CurrentUrl using:
DotNetNuke.Entities.Tabs.TabController.CurrentPage.FullUrl
I've found that in SitemapBuilder.cs there some commented code that implement alternate 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();
}
How can I get all alternate URL for current page?