回答
总之,你不能。 Drupal的菜单系统会缓存整个菜单:不同用户的菜单项不能以不同的方式显示(尽管您可以为它们设置访问权限)。如果您想要菜单项出现,您必须在hook_menu()
(仅在重建菜单时调用该菜单项)中注册它们,或者必须在菜单管理中手动添加菜单项。
Menu system上的手册页提供了关于此的更多信息。
但是,您可以使用视图中的块显示和HTML列表行样式创建假菜单。如果你想在主菜单结构之外有一个类别列表块,这很有用。
这听起来像你可能需要使用视图参数来过滤你的结果,如果你是基于单个视图拉不同的“组”。我会从这里开始学习更多关于视图参数:http://drupal.org/node/54455,如果这确实是你想要完成的。
编辑:
我想,如果我完全看问题,这将有助于。这听起来像你已经在为你的视图使用参数。在这种情况下,您已经创建了动态链接到您的页面。尝试将每个“组”的参数放在URL的末尾。例如,如果使用路径新闻创建页面显示,则可以通过将参数附加到URL末尾来传递参数。因此,如果您使用“Node:Created Year”创建了参数,则可以通过放置诸如example.com/news/2009的内容来仅过滤2009年创建的节点来过滤此内容。您传递的内容取决于类型你创建的论点。
感谢您的回答,后来我意识到我可以将论点放在最后,但是我想看看为所有组使用相同的菜单,所以菜单路径将需要根据所查看的组自动更改。这将节省管理员每次都必须创建菜单项。 – Ben 2010-08-03 18:13:47
我为这种情况创建了一个重定向链接。例如,如果我想要一个菜单链接将用户定向到其用户编辑页面,我将实现hook_menu()如下:
function my_module_menu()
{
$menu['user/cp'] = array
(
'title' => 'User Control Panel',
'page callback' => 'user_cp_redirect_page',
'access callback' => 'user_is_logged_in',
'type' => MENU_CALLBACK,
);
return $menu;
}
然后,我设置了页面的回调看起来像这样:
function user_cp_redirect_page()
{
global $user;
drupal_goto('user/' . $user->uid . '/edit');
}
- 1. Drupal中的动态链接
- 2. 在Drupal缓存之外创建动态菜单链接
- 3. 在excel中创建动态超链接
- 4. 在JavaScript中动态创建SVG链接
- 5. 在TextViews中动态创建链接
- 6. PHP创建动态链接
- 7. jquery动态创建链接
- 8. 在Html.ActionLink中创建一个动态链接文本和链接()
- 9. MVC中的PHP,动态创建链接
- 10. 动态创建HTML动作链接
- 11. 如何在Flash CS5中基于动态链接在swf中创建链接
- 12. 如何动态创建链接功能
- 13. 使用jQuery动态创建链接
- 14. 使用phpgrid创建动态链接
- 15. 更改动态创建链接的href
- 16. 使用PHP/MySQL创建动态链接
- 17. 为ng-repeat创建动态链接
- 18. 用foreach创建动态链接列表
- 19. 如何创建动态链接?
- 20. jQuery的动态链接创建
- 21. 创建动态菜单链接
- 22. Windows创建动态数量的链接
- 23. 执行动态创建SCRIPT SRC链接
- 24. 使用Angular.js'ng-repeat创建动态链接
- 25. 如何在HTML动作链接中动态创建路由
- 26. Drupal |动态主链接菜单
- 27. 创建XML超链接下载链接动态
- 28. 用Drupal模块动态创建一个自定义页面的链接
- 29. 如何在ASP.NET中动态创建新的超链接?
- 30. 如何在wordpress iframe中创建动态链接?
谢谢马克的回答。我喜欢你关于假菜单的想法,并会研究这一点。我没有太多的编程Drupal的经验,但也可能会去使用hook_menu - 我将不得不在某些时候学习! – Ben 2010-08-03 18:09:26