0

これはかなり具体的な問題であり、エレガントな答えがない可能性があります。Drupal とそれ以外の 2 つのサイトでメニューを共有したいと考えています。カスタム モジュールを使用して hook_menu_link_alter を実装しており、テーマ メニューをファイルに出力したいと考えています。この点についての議論はありません。他のサイトの html ファイルを公開するだけで済みます。ループして、テーマ関数が既に行っていることを再作成するという強引な方法を知っていますが、テーマ関数を実際に直接使用する方法があるのではないかと思いました。

ただいま、がんばっています...

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

しかし、出力を受け取っていません。また、エラーも発生しません。これは残念です。(注: ナビゲーション リンクのテーマ機能が実際に theme('navigation-links'') であるとは 100% ではありません)。

何か案は?

(注: この質問は新しい Drupal StackExchange サイトにも投稿しましたが、コミュニティがまだ存在しないため、削除する可能性があります)

4

1 に答える 1

0

リンクのテーマ機能には、テーマへのリンクの配列が必要です。

次のようなものを使用できます。

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

関数menu_navigation_links () は includes/menu.inc にあり、現在表示しているページに応じてメニューのツリー データを返す関数menu_tree_page_data () を使用します。

menu_tree_all_data ()と呼ばれる同様の関数を使用できますが、 menu_navigation_links () が返すデータに対して行うのと同じ操作を行う必要があります。そうしないと、空のメニューが表示されます。

于 2011-03-10T18:45:34.537 に答える