2013-05-30 2 views
0

Вот моя структура папок проекта в древовидную структуруПолучить Коллекция после прохождения в Umbraco

(*)Root 
    []English 
      [1]Novel 
      [2]Thriller 
        [2.1]Happy 
           [2.1.1]Life Happy 
              HappyInLife 
              LoveInLife 
           [2.1.2]Joy 
              everywhereJoy 
           [2.1.3]Lauging 
              Always 
              Sometimes 
              Never 
        [2.2]Sad 
        [2.3]Excited 
        [2.4]Alone 
      [3]Love Story 
      [4]Action 
    []Hindi 
    []Marathi 

Теперь здесь, в приведенной выше структуре я на узле [2,4] Один и я хочу, чтобы пройти в узле [ 2,1] С. Кроме того, я хочу получить доступ ко всем детям, дочерним и вспомогательным ... узла [2.1] Happy.

Мое требование Проект для отображения узла [2.1] Счастливы вместе со всеми своими детьми и подразделам детей и так далее .... от узла [2.4] Наедине

Моя работа до настоящего времени (Я нахожусь в узле [2.4] Alone)

var [email protected](); 

Итак, у дома будет узел [2.1] Счастливый внутри него. , но проблема в том, что это даст мне только детей [2.1] Счастливые, а не дети своих детей и т. Д.

Я устал от @ Model.AncestorsOrSelf (3); , но не смог достичь моей цели.

Любая помощь приветствуется

ответ

1

Я предлагаю использовать uQuery: (1)(2)

код будет выглядеть следующим образом:

@using umbraco 

var current = umbraco.NodeFactory.Node.GetCurrent(); 
var your21Happy = current.Parent.GetChildNodes().First(); // or the way you was getting it already. 
var descendants = your21Happy.GetDescendantNodes(); 

uQuery довольно гибкая, вы можете фильтровать запрошенные узлы ничем, как

.GetDescendantNodesByType("uBlogsyPost") 

или

.GetDescendantNodes(x => x.WriterName == "admin") 

и т.д.