欢迎各位兄弟 发布技术文章
这里的技术是共享的
$items['breadcrumb/%breadcrumb2'] = array(
'title' => 'Breadcrumb',
'page callback' => 'breadcrumb2_page_view',
'page arguments' => array(1),
'access arguments' => array('administer breadcrumbs'),
'file' => 'breadcrumb2.admin.inc',
);
$items['breadcrumb/%breadcrumb2/view'] = array(
'title' => 'View',
'type' => MENU_DEFAULT_LOCAL_TASK,
'weight' => -10,
);
这里面我们使用了通配符%breadcrumb2,当我们传递过来一个bid以后,系统会自动的调用breadcrumb2_load函数,将bid转换为相应的面包屑对象。
接下来,我们看breadcrumb2_page_view的具体实现,向breadcrumb2.admin.inc里面添加以下代码:
/**
* Breadcrumb view page.
*/
function breadcrumb2_page_view($breadcrumb, $view_mode ='full'){
return $breadcrumb->view('full');
}
1)通配符 %node
这里面我们使用了通配符%node,当我们传递过来一个nid以后,系统会自动的调用node_load函数,将nid转换为相应的节点对象。
$items['node/%node'] = array(
'title callback' => 'node_page_title',
'title arguments' => array(1),
'page callback' => 'node_page_view',
'page arguments' => array(1),
'access callback' => 'node_access',
'access arguments' => array('view', 1),
'type' => MENU_CALLBACK);
2) 通配符 %
这里面我们使用了通配符%,当我们传递过来一个参数以后,系统不会调用任何函数,直接把参数传过去
$items[
'test/%'
] = array(
'title'
=> t(
'Test'
),
'description'
=> t(
'Test'
),
'page callback'
=>
'_test'
,
'page arguments'
=> array(
1
),
'access callback'
=> TRUE,
'type'
=> MENU_CALLBACK
);
以上 1) 和 2) 就是 通配符 % 与 %node 的区别