2011-01-04 3 views
-1

Как найти все дочерние узлы с использованием идентификатора определенного родительского узла в drupal? Я попробовал drual_menu_tree, но он отображает только дочерний элемент текущей страницы.найти все дочерние узлы с помощью родительского узла в drupal

+0

Как вы устанавливаете дочерние элементы узла или узла? –

+0

Я думаю, что слова первичного и вторичного наилучшего набора узлов. Первичная страница выбирается из родительского элемента: когда мы создаем страницу из admin.I хочу получить список вторичных страниц из идентификатора первичной страницы. –

ответ

2

Не существует отношения родитель-потомок между узлами Drupal. Из вашего комментария, я подозреваю, вы говорите о меню.

Если да, взгляните на menu_tree_all_data. Это дает вам ссылки, которые у вас есть в вашем меню.

  1. Выведите mlid (меню идентификатор ИЛС) родителя, исследуя link_path сек возвращенных предметов.
  2. Найти пункты меню, в которых есть mlid, как plid (идентификатор родительской ссылки).
  3. Из этих элементов отфильтровывайте те, которые указывают на узел (снова исследуя их link_path).

Это довольно громоздко сделать в PHP. Настроенный SQL-запрос, вероятно, быстрее. Вам нужно будет запросить таблицу {menu_links}; он содержит mlid, plid и link_path Я говорил.