カスタムメニューを直接page.tpl.phpにコーディングします。デフォルトのテーマは
<?php if ($main_menu): ?>
<div id="main-menu" class="navigation">
<?php print theme('links__system_main_menu', array(
'links' => $main_menu,
'attributes' => array(
'id' => 'main-menu-links',
'class' => array('links', 'clearfix'),
),
'heading' => array(
'text' => t('Main menu'),
'level' => 'h2',
'class' => array('element-invisible'),
),
)); ?>
</div> <!-- /#main-menu -->
<?php endif; ?>
Drupal 7で、「フッターメニュー」という新しいメニューを作成しました。$ main_menuがデフォルトのテーマでコーディングされるのと同じ方法で、テーマにそれをどのようにコーディングしますか?
これを試して
<?php
$menu = menu_navigation_links('menu-your-custom-menu-name');
print theme('links__menu_your_custom_menu_name', array('links' => $menu));
?>
Template.phpに追加することもできます
function THEME_preprocess_page(&$vars) {
$menu = menu_navigation_links('menu-your-custom-menu-name');
$vars['custom_menu'] = theme('links__menu_your_custom_menu_name', array('links' => $menu));
}
変数$ custom_menuはページtplで使用できます
私はベローコードを使用しています、それは私のために働いています。
$ main_menu = menu_navigation_links( 'menu-main-page'); print($ main_menu);
_template.php
_のhook_theme_tree()
でメニューをオーバーライドできます:
_function THEME_menu_tree__MENUNAME($variables) {
$menuTree = menu_build_tree('MENUNAME');
foreach ($menuTree as $item) {
}
}
_
メニューブロックを作成するか、メニューを直接_page.tpl
_
まあ、上記のDrupal 7でうまくいきませんでしたが、コードの下では、
$search_menu_name = "menu-search-box-menu";
print theme('links', array('links' => menu_navigation_links($search_menu_name), 'attributes' => array('id' => $search_menu_name, 'class'=> array('links', 'inline'))));
上記のコードはこのようなもので、「menu-search-box-menu」は私のカスタムメニュー名/ IDです。その特定のメニュー編集リンクでそれを見つけることができます。
楽しい。 :)
これは私を怒らせています。
これまでで最も簡単な方法はこれです...
カスタムメニュー名が「カスタムメニュー」であるpage.tpl.php内
<?php
print drupal_render(menu_tree('menu-custom-menu'));
?>