如何使用DNN和C#创建站点地图

时间:2016-07-01 16:02:09

标签: c# seo dotnetnuke

我的网站是http://www.bodytshirt.com 该网站由DotNetNuke构建。它的默认站点地图是http://www.bodytshirt.com/sitemap.aspx 此站点地图仅显示没有任何参数的页面URL。我希望我的站点地图显示我的数据库中的所有产品。例如http://www.bodytshirt.com/product/id/141/key/i-am-a-software-engineer

请提出我的建议。我应该为我的要求创建自定义站点地图吗?

1 个答案:

答案 0 :(得分:1)

您可以使用DNN中的Sitemap提供商执行此操作。我的开源DNNSimpleArticle模块有一个例子:

https://github.com/ChrisHammond/dnnsimplearticle/blob/6d5d2c5bb074dd2bdede40fac4eb3c78408ab884/Providers/Sitemap/Sitemap.cs

$('a[data-toggle="tab"]').on('shown.bs.tab', function(e){
    $($.fn.dataTable.tables(true)).DataTable()
        .columns.adjust()
        .responsive.recalc();
}); 

然后你需要注册,你可以使用.DNN文件

https://github.com/ChrisHammond/dnnsimplearticle/blob/6d5d2c5bb074dd2bdede40fac4eb3c78408ab884/dnnsimplearticle.dnn

public override List<SitemapUrl> GetUrls(int portalId, PortalSettings ps, string version)
{
    var listOfUrls = new List<SitemapUrl>();

    foreach (Article ai in ArticleController.GetAllArticles(portalId))
    {

        var pageUrl = new SitemapUrl
        {
            Url = ArticleController.GetArticleLink(ai.TabID, ai.ArticleId),
            Priority = (float)0.5,
            LastModified = ai.LastModifiedOnDate,
            ChangeFrequency = SitemapChangeFrequency.Daily
        };
        listOfUrls.Add(pageUrl);

    }
    return listOfUrls;
}