chi*_*tte 1 drupal menu path drupal-6
您不能在菜单路径中使用通配符?我的问题的快速摘要(我已经确定它是有道理的,所以你不浪费你的时间):我有一个菜单,我正在某个内容类型的节点页面上显示.我到节点页面的路径就像......
事件/ instal2010
...其中instal2010将是事件的名称(事件是内容类型).
我正在使用Context和Menu Block模块在该页面的侧边栏中放置一个菜单...
......程序的路径是什么
事件/ instal2010 /程序
因此,为了使其适用于许多不同的事件,这些菜单项在其路径中需要通配符,例如
事件/*/程序
也许现在是时候抛弃菜单,只是使用一个带有php的块来确定我们从URL上打开的页面.
有经验之手的任何建议都会很棒,谢谢.
您无法从Drupal的管理界面创建带有通配符的菜单项,但您可以在模块中创建带通配符的菜单项.我建议创建一个使用hook_menu()创建菜单项的自定义模块.示例实现看起来像:
function YOURMODULE_menu() {
$items = array();
$items['events/%/programme'] = array(
'title' => 'Programme',
'description' => 'Loads a program page',
'page callback' => 'YOUR CUSTOM FUNCTION NAME', // Custom function used to perform any actions, display the page, etc
'page arguments' => array(1), // Passes wildcard (%) to your page callback function
'access callback' => TRUE, // Change if you want to control access
'type' => MENU_NORMAL_ITEM, // Creates a link in the menu
'menu_name' => 'primary-links' // Adds the link to your primary links menu, change if needed
);
return $items;
}
Run Code Online (Sandbox Code Playgroud)
在$items['events/%/programme'] = array(,%是通配符,它将传递给您的页面回调函数.阅读有关hook_menu()的更多信息可能会有所帮助,而hook_menu的剖析也可能有所帮助.
| 归档时间: |
|
| 查看次数: |
4230 次 |
| 最近记录: |