0
我想獲得頁面的計數節點一把umbraco網站與輸出是這樣的:一把umbraco計數活動內容頁
- 根(9子節點)
- 第一個文件夾(4子節點)
- 文獻1
- 文獻2
- 文獻3
- 文獻4
- 第二個文件夾(3子節點)
- 文件1
- 文件2
- 文件3
- 第一個文件夾(4子節點)
基本上我想看看有多少的活動內容有一個特定的網站,並提出了一種分工的方法。有沒有合理的方法來獲取這些信息?
我想獲得頁面的計數節點一把umbraco網站與輸出是這樣的:一把umbraco計數活動內容頁
基本上我想看看有多少的活動內容有一個特定的網站,並提出了一種分工的方法。有沒有合理的方法來獲取這些信息?
這爲我工作:
Descendants.cs在App_Code文件夾
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using umbraco.presentation;
using umbraco.presentation.nodeFactory;
public static class ExtensionMethods
{
public static IEnumerable<Node> AllDescendants(this Node node)
{
foreach (Node child in node.Children)
{
yield return child;
foreach (Node grandChild in child.AllDescendants())
yield return grandChild;
}
}
}
Razor視圖
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@using umbraco.presentation.nodeFactory;
@{
Layout = "";
}
@functions{
public string CreateSitemap()
{
var temp = "<ul class='collapsibleList'>" + sitemap(-1) + "</ul>" + Environment.NewLine;
return temp;
}
public string sitemap(int nodeID)
{
var rootNode = new umbraco.presentation.nodeFactory.Node(nodeID);
var sitemapstring = "<li>" + rootNode.Name + " (" + rootNode.AllDescendants().Count() + ") <span style='font-size:9px'>" + rootNode.NodeTypeAlias + "</span></li>" + Environment.NewLine;
if (rootNode.Children.Count > 0)
{
sitemapstring += "<ul>" + Environment.NewLine;
sitemapstring = rootNode.Children.Cast<Node>().Aggregate(sitemapstring, (current, node) => current + sitemap(node.Id));
sitemapstring += "</ul>" + Environment.NewLine;
}
return sitemapstring;
}
}
<body>
@Html.Raw(CreateSitemap())
</body>
「活動」 在公開的? – 2014-10-10 13:12:25
是的。發佈內容。 – ericdc 2014-10-10 17:55:18