найти все дочерние узлы, используя родительский nodeid в drupal - PullRequest
0 голосов
/ 04 января 2011

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

1 Ответ

2 голосов
/ 04 января 2011

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

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

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

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

...