Использование функций темы в пользовательском модуле

Это довольно специфический вопрос, на который может не быть элегантного ответа. Я хочу поделиться меню на двух сайтах, один на Drupal, а другой нет. Я использую пользовательский модуль для реализации hook_menu_link_alter и хочу вывести тематическое меню в файл. Этот вопрос не обсуждается, нам нужно просто открыть html-файл для другого сайта. Я знаю способ грубой силы сделать это, просто перебирая и просто воссоздавая то, что уже делает функция оформления тем, но я подумал, что, возможно, есть способ использовать функцию оформления тем напрямую.

Вот сейчас пытаюсь...

theme('links', theme('navigation-links', 'menu-name'), array('id' => 'menu-id'));

но я не получаю выход. Я также не получаю никаких ошибок, что является обломом. (Примечание: я не уверен на 100 %, что тематическая функция для навигационных ссылок на самом деле является темой ('навигационные ссылки'')).

Любые идеи?

(Примечание: я также разместил этот вопрос на новом сайте Drupal StackExchange, но могу удалить его, поскольку сообщества еще нет)


person rob5408    schedule 10.03.2011    source источник


Ответы (1)


функция тематики для ссылок нуждается в массиве ссылок на тему.

вы можете использовать что-то вроде:

theme('links', menu_navigation_links('menu-name'));

Функция menu_navigation_links() существует в файле include/menu.inc и использует функцию menu_tree_page_data(), которая возвращает данные дерева меню в соответствии с текущей просматриваемой страницей.

Вы можете использовать аналогичную функцию под названием menu_tree_all_data(), но вам придется выполнять те же манипуляции, которые menu_navigation_links() выполняет с данными, которые она возвращает. в противном случае вы все равно получите пустые меню.

person yoavmatchulsky    schedule 10.03.2011
comment
Вот и все, просто куча путаницы с моей стороны. Спасибо! - person rob5408; 10.03.2011