我有一个模块,可以添加主菜单的链接。当我点击该链接时,会加载所请求的页面(.js和.html文件)。
我的主菜单如下:
我的代码如下所示:
<?php
/**
* Implements hook_menu()
*/
function kl_menu(){
$items = array();
$items['simple_link'] = array(
'title' => t('my link'),
'page callback' => 'build_page',
'access arguments' => array('access content'),
'menu_name' => 'main-menu',
'type' => MENU_NORMAL_ITEM,
);
/*
* build_page
*/
function build_page() {
drupal_add_js(drupal_get_path('module', 'kl') . '/mypage.js', 'file');
return ( file_get_contents( drupal_get_path('module', 'kl').'/mypage.html') );
}
现在我想添加一个子菜单而不是简单的普通链接,这样我的主菜单就像这样:
我希望当我点击“我的子菜单”时,此子菜单会展开显示更多链接。然后当我回到我的子菜单时,我希望它能够崩溃。
我是drupal php等的新手。
我怎样才能实现这一目标。我正在使用花环主题。
由于
巴巴
答案 0 :(得分:0)
/**
* Implements hook_menu().
*/
function kl_menu() {
$items['simple_link'] = array(
'title' => t('my link'),
'page callback' => 'kl_build_page',
'access arguments' => array('access content'),
'menu_name' => 'main-menu',
'type' => MENU_NORMAL_ITEM,
);
$items['simple_link/my_sublink_1'] = array(
'title' => t('my sub link 1'),
'page callback' => 'mymodule_sub_page_1',
'access arguments' => array('access content'),
'type' => MENU_NORMAL_ITEM,
);
$items['simple_link/my_sublink_2'] = array(
'title' => t('my sub link 2'),
'page callback' => 'mymodule_sub_page_1',
'access arguments' => array('access content'),
'type' => MENU_NORMAL_ITEM,
);
return $items;
}
/**
* Implements hook_theme().
*/
function kl_theme() {
$template_path = drupal_get_path('module', 'kl') . '/templates';
return array(
// File would be <module path>/templates/kl-build-page.tpl.php
'kl_build_page' => array(
'path' => $template_path,
'template' => 'kl-build-page')
),
// File would be <module path>/templates/kl-sub-page-1.tpl.php
'sub_page_1' => array(
'path' => $template_path,
'template' => 'kl-sub-page-1')
),
// File would be <module path>/templates/kl-sub-page-2.tpl.php
'sub_page_2' => array(
'path' => $template_path,
'template' => 'kl-sub-page-2')
),
);
}
/**
* Callback for main build page.
*/
function kl_build_page() {
drupal_add_js(drupal_get_path('module', 'kl') . '/mypage.js', 'file');
return theme('kl_build_page');
}
/**
* Page callback for sub page 1
*/
function kl_sub_page_1() {
return theme('kl_sub_page_1');
}
/**
* Page callback for sub page 2
*/
function kl_sub_page_2() {
return theme('kl_sub_page_2');
}