如何使用 DNN 和 C# 创建站点地图
How to create a site map using DNN and C#
我的网站是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
请提出我的建议。我应该根据我的要求创建自定义站点地图吗?
您可以使用 DNN 中的站点地图提供程序执行此操作。我的开源 DNNSimpleArticle 模块有一个这样的例子:
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;
}
然后你需要注册,你可以用.DNN文件来做
<component type="Config">
<config>
<configFile>web.config</configFile>
<install>
<configuration>
<nodes>
<node path="/configuration/dotnetnuke/sitemap/providers" action="update" key="name" collision="overwrite">
<add name="DNNSimpleArticleSiteMapProvider" type="Christoc.Modules.dnnsimplearticle.Providers.Sitemap.Sitemap, DNNSimpleArticle" providerPath="~\DesktopModules\dnnsimplearticle\Providers\Sitemap\" />
</node>
</nodes>
</configuration>
</install>
<uninstall>
<configuration>
<nodes />
</configuration>
</uninstall>
</config>
</component>
我的网站是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
请提出我的建议。我应该根据我的要求创建自定义站点地图吗?
您可以使用 DNN 中的站点地图提供程序执行此操作。我的开源 DNNSimpleArticle 模块有一个这样的例子:
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;
}
然后你需要注册,你可以用.DNN文件来做
<component type="Config">
<config>
<configFile>web.config</configFile>
<install>
<configuration>
<nodes>
<node path="/configuration/dotnetnuke/sitemap/providers" action="update" key="name" collision="overwrite">
<add name="DNNSimpleArticleSiteMapProvider" type="Christoc.Modules.dnnsimplearticle.Providers.Sitemap.Sitemap, DNNSimpleArticle" providerPath="~\DesktopModules\dnnsimplearticle\Providers\Sitemap\" />
</node>
</nodes>
</configuration>
</install>
<uninstall>
<configuration>
<nodes />
</configuration>
</uninstall>
</config>
</component>