2010-11-11 3 views
2

J'ai installé le module suivant - http://drupal.org/project/og_reg_keys Ce module ajoute un champ supplémentaire à vos types de nœuds de groupe organique, pour permettre à un utilisateur de spécifier une clé d'enregistrement que les utilisateurs utiliseront pour rejoindre le groupe.Drupal - champ CCK - make required

Le problème est que ce champ n'est pas requis pour être entré par l'utilisateur. Comment peut-on faire de ce champ un champ obligatoire?

Je trouve le code ci-dessous, ce qui rend le champ CCK obligatoire pour les utilisateurs d'un rôle spécifique, mais être une personne non PHP je ne sais pas comment changer cela:

  1. Faire la clé d'enregistrement Groupe un champ obligatoire (ne savez pas à quoi l'élément $ form sera appelé ou où le trouver)
  2. Pour supprimer la section sur le code où elle s'applique aux utilisateurs d'un rôle spécifique, afin qu'elle s'applique toujours.

code:

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 

Toute aide serait grandement appréciée. Désolé pour le code étant si désordonné, je ne pouvais pas sembler le coller correctement, il a continué à se couper.

+0

votre question S'il vous plaît étiquette avec la version de Drupal que vous utilisez. ex: drupal-6 – Greg

Répondre

3

Cela devrait le rendre obligatoire pour tous les utilisateurs:

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

merci pour l'aide. Ce code ci-dessus était un exemple, et ce que je veux vraiment faire un champ obligatoire est "Clé d'enregistrement de groupe", mais je ne suis pas sûr de ce que son nom de champ est. Des idées sur la façon dont je pourrais trouver cela? – Ankh2054

+0

@Ankh Vous pouvez utiliser le module devel et faire 'dpm ($ form)' pour pouvoir inspecter la valeur du formulaire et déterminer ce que vous devez modifier. – googletorp

+0

merci, ive ajouté dpm ($ form) au template.php, s'attendant à ce qu'il fournisse des valeurs lors de l'édition ou créer un nouveau type de contenu. Im un peu cluless quand il s'agit de php, de sorte que vous pourriez peut-être être si gentil et me diriger dans la bonne direction. merci encore :) – Ankh2054

Questions connexes