【问题标题】:Drupal - CCK field - make requiredDrupal - CCK 字段 - 必填
【发布时间】:2010-11-11 20:28:06
【问题描述】:

我安装了以下模块 - http://drupal.org/project/og_reg_keys 该模块为您的有机组节点类型添加了一个附加字段,以允许用户指定注册密钥供用户加入组。

问题是用户不需要输入该字段。如何使该字段成为必填字段?

我找到了下面的代码,这使得 CCK 字段对于特定角色的用户是强制性的,但作为非 PHP 人员我不知道如何将其更改为:

  1. 将组注册密钥设为必填字段(不确定 $form 元素将被调用什么或在哪里可以找到)
  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  

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

【问题讨论】:

  • 请用您正在使用的 Drupal 版本标记您的问题。例如:drupal-6

标签: php drupal drupal-6 cck


【解决方案1】:

这应该是所有用户都需要的:

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 ;
  }
}

【讨论】:

  • 感谢您的帮助。上面的代码是一个例子,我真正想做的必填字段是“组注册密钥”,但我不确定它的字段名称是什么。关于如何找到这个的任何想法?
  • @Ankh 您可以使用开发模块并执行dpm($form) 以便能够检查表单值并找出您需要更改的内容。
  • 谢谢,我将 dpm($form) 添加到 template.php,希望它在我编辑或创建新内容类型时提供值。当谈到 php 时,我有点无能,所以你能不能这么好,给我指出正确的方向。再次感谢:)
  • 我最终编辑了有机组键模块本身并添加了字段 required = true ,这成功了。谢谢你的帮助
猜你喜欢
  • 1970-01-01
  • 2013-05-27
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-25
相关资源
最近更新 更多