2010-11-11 42 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