2010-01-24 56 views
0

我试图隐藏来自我的用户的“修订信息”,他们不明白与此内容类型有关的内容。我已经在网上阅读了许多帖子,其中提到了将模板更改为设置style =“display:none”的所有内容。我宁愿实际上从访问中删除该字段,以便注入技术不可行。我通过创建一个设置为$form['revision_information']['#access'] = false;hook_form_alter来完成此操作。我已经使用Firebug验证过该方法确实被称为,但形式元素占上风。有什么想法吗?提前致谢! Drupal的岩石!Drupal 6隐藏修订信息

function recipe_form_recipe_node_form_alter(&$form, $form_state){ 
    if (isset($form['revision_information'])) { 
     $form['revision_information']['#access'] = FALSE; 
     firep(print_r($form['revision_information'],true)); 
     $form_state['rebuild'] = true; 
    } 
} 
+0

你按引用传递$形式? – googletorp 2010-01-24 10:21:45

+0

很奇怪你的form_alter不起作用,因为表单api文档和可能的帖子都说它应该。你能发布完整的form_alter函数的代码吗? 请注意,您也可以使用正确的设置隐藏修订信息;它只会显示是否选中“创建新版本”选项,或者当前用户是否具有“管理节点”权限。 – marcvangend 2010-01-24 10:24:58

+0

@googletorp是的。 – 2010-01-25 00:48:00

回答

3

报价marcvangend

请注意,您还可以隐藏与正确 设置 修订信息;如果 “创建新的版本”选项 检查,或者如果当前用户具有 的“管理节点”权限

这很可能是最简单的选项它才会显示。

注:维基答案,因为它是不是我自己

0
/* Below code added by tejas tank , [email protected] 
    to disable the revision block from everywhere  
*/ 
function phptemplate_node_form($form) { 
    $form['revision_information']['#access'] = FALSE; 
    return theme_node_form($form); 
}