2010-09-10 69 views
0

创建动态菜单我想创建一个动态菜单,将获得它从某个节点类型的项目。我认为我可以通过创建标题视图并将其放在一个块中来实现。然而,当有人点击这些标题我想强调它的一个,所以想加入活性类链接的方式。我知道Drupal自动为菜单执行此操作,但是我可以为基于视图的菜单执行此操作吗?的Drupal的工作路径属性

回答

0

为什么不连同hook_form_alter使用安卓想法?像这样的东西会工作:

假设你的内容类型被称为“为myContent”:

在设置菜单允许家长只包括您想要的菜单内容类型设置,我们把它叫做“定制” 。在你的模块文件中添加以下代码:

mymodule_form_alter(&form, &$form_state, $form_id){ 
    if($form_id=="mycontent_node_form"){ 
    $form['menu']['enabled']['#default_value'] = 1; 
    $form['menu']['link']['parent']['#default_value'] = "menu-custom:0"; 
    } 
} 

所以,$ form_id应该等于 “[my_content_type] _node_form”,和家长的默认值应等于 “菜单 - [my_menu]:0”

如果你担心用户不将他们的内容的菜单,这条线会夺走他们的形式项目的控制:

$form['menu']['#disabled']=true; 
+0

三分球你好,非常感谢您的文章。这听起来像是一个很好的办法。似乎它也可以解决我自动向菜单添加新内容的问题。 – Ben 2011-03-10 10:07:59

0

我不是真正确定自己的“动态菜单”的要求,但在视图中,冠军的替代可能是建立一个自定义菜单,那么当你创建这些节点,将它们设置为一部分在节点编辑窗体中显示该菜单。然后在该块中显示该菜单并且您应该可以突出显示所需的活动项目。

+0

嗨安德鲁,感谢您抽出时间来回答我的问题。我所需要的菜单,自动生成链接,如果人们创造了一个新的页面,所以我不能用一个标准的菜单。我通过使用标题视图解决了这个问题。这些实际上自动包括一个活跃的类,我没有意识到他们做了。 – Ben 2010-09-16 14:52:22