如果站点有两个页面 - 同名,如何获取页面列表?

时间:2010-03-01 03:19:31

标签: javascript xhtml sitecore sitecore6

例如

http://www.sitename.com/ SECTION1 /pagename.aspx

http://www.sitename.com/第2节 /pagename.aspx

我需要仅对具有相同名称的网页快速报告。例如“pagename.html”。

5 个答案:

答案 0 :(得分:1)

抓取您的网站,撤消找到的网址并排序?

答案 1 :(得分:0)

如果我认为这是Sitecore网站,您是否可以直接进入内容编辑器并搜索您要查找的名称?例如,项目名称为“pagename”的任何内容都将在标准Sitecore安装中以“pagename.aspx”结尾的URL。只是确保你正在查看实际的项目名称而不是显示名称,因为它们可能会有所不同,具体取决于你如何设置URL。

答案 2 :(得分:0)

我会写一个快速的实用程序,只是以编程方式遍历内容树,将名称保存到字典中......当你点击字典中已有的项目时,你就会发生名称冲突。

答案 3 :(得分:0)

你可能会考虑的一件事就是为这个

编写一个过滤器(我认为这就是所谓的过滤器)

http://trac.sitecore.net/AdvancedSystemReporter

这将允许您在Sitecore中有一个很好的界面来查看重复的项目名称。

答案 4 :(得分:0)

您的数据库有多大,您的LINQ对象如何?从理论上讲,您可以针对Database.Items编写LINQ查询,该查询查找具有相同名称的项目,这些项目来自内容树的同一站点分支。如果主数据库很大,这可能会占用大量内存,但编码也不会很困难。

编辑 - 如果您可以遍历所有网站项目,则可以执行以下操作(未经测试):

        var items = siteItem.Axes.GetDescendants();
        var dupes = from item in items
                    join item2 in items on item.Name equals item2.Name
                    where item.ID != item2.ID
                    select item;