2010-11-11 86 views
2

我已经安装了以下模块 - http://drupal.org/project/og_reg_keys这个模块增加了额外的字段到您的有机基团的节点类型,允许auser指定一个注册码供用户使用加入该群。Drupal的 - CCK场 - 使需要

问题是一个可以让这个领域必填字段不要求现场由user.How输入?

我发现下面的代码,这使得CCK领域强制要求的特定角色的用户,但作为一个非PHP的人,我不知道如何改变这:

  1. 使集团注册码必填字段(不知道什么$表单元素会被称为或在哪里可以找到这个)
  2. 要去除它适用于特定角色的用户代码中的部分,所以它总是适用。

代码:

function mymodule_form_alter(&$form, $form_state, $form_id) { 
switch ($form_id) { 
case 'profile_node_form': 
global $user; 
if(in_array('targetrole', $user->roles)) { 
$form['field_profile_pic'][0]['#required'] = 'TRUE'; 
$form['#field_info']['field_profile_pic']['required'] = '1'; 
break 

任何帮助将不胜感激。对不起,代码太杂乱了,我似乎无法正确地贴上它,它一直在切断。

+0

请使用Drupal的版本,您使用的标记您的问题。例如:drupal-6 – Greg 2010-11-11 20:31:16

回答

3

这应该使需要为所有用户:

function mymodule_form_alter(&$form, $form_state, $form_id) { 
    switch ($form_id) { 
    case 'profile_node_form': 
     $form['field_profile_pic'][0]['#required'] = 'TRUE'; 
     $form['#field_info']['field_profile_pic']['required'] = '1'; 
     break ; 
    } 
} 
+0

感谢您的帮助。上面的代码是一个例子,我真正想做的必填字段是“组注册码”,但我不确定它的字段名是什么。任何想法,我怎么能找到这个? – Ankh2054 2010-11-11 22:36:15

+0

@Ankh您可以使用devel模块并执行'dpm($ form)'来检查表单值并找出需要更改的内容。 – googletorp 2010-11-12 09:18:57

+0

谢谢,我在template.php中添加了dpm($ form),希望它在编辑时提供im值或创建新的内容类型。对于PHP来说,我有点无聊,所以你可能会这么友善,并指出我的方向。再次感谢:) – Ankh2054 2010-11-14 17:35:35