如何在Kentico中获得同级页面列表

时间:2018-12-13 21:23:06

标签: asp.net-mvc kentico

我们有一个使用Kentico CMS的MVC应用程序。如何从内容树中的给定节点检索同级页面和子页面?比如说内容树看起来像

/
---Breads
-----Foo Bread
----------Recipe X
----------Nutrition A
---Cookies
-----Bar Cookie
----------Recipe Y
----------Nutrition B
-----Foo Cookie
  • 当访问者访问“营养A”页面时,他们应该在侧栏上看到“食谱X”
  • 当用户在“食谱Y”页面上时,他们应该在侧栏上看到营养B
  • 如果它们在“ Cookie”页面上,则应该在侧边栏上看到“ Bar Cookie”和“ Foo Cookie”等等。

我发现一些示例使用宏,但我认为我无法在MVC中使用它。

2 个答案:

答案 0 :(得分:2)

我想说的是,您希望让当前文档的子级成为同一级的父级, 假设您有CurrentDocument

    var docs = DocumentHelper
        .GetDocuments()
        .OnSite("CorporateSite")
        .Culture("en-US")
        .Where(d => d.NodeParentID == CurrentDocument.NodeParentID && d.NodeLevel == CurrentDocument.NodeLevel)
        .OrderBy(d => d.DocumentName);

    // Go through the documents 
    foreach (var document in docs)
    {
        Response.Write(HTMLHelper.HTMLEncode(document.DocumentName) + "<br />");
    }

详细了解DocumentHelper

答案 1 :(得分:0)

如果您使用CurrentDocument.NodeAliasPath,这将返回您当前所在的文档,并且您的URL将是

/Breads/Foo-Bread/Nutrition-A

因此您可以简单地使用:

CurrentDocument.Parent.NodeAliasPath + "/%"

作为API调用中的路径。