hook_user():将额外的字段插入数据库而不仅仅是表单

2024-03-19

我可以在注册中添加一个额外的字段。我需要知道的是我需要采取什么步骤来获取该输入并将其插入到 drupal 的用户表中。下面的代码位于我的模块中,它仅向表单添加一个字段,但是当提交时,它不会对数据执行任何操作。

function perscriptions_user($op, &$edit, &$account, $category = NULL){
  if ($op == 'register') {
    $form['surgery_address'] = array (
      '#type' => 'textarea',
      '#title' => t('Surgery Address'),
      '#required' => TRUE,
    );      

     return $form;     
  }

  if ($op == 'update') {
    // …
  }
}

据报道hook_user() 文档 http://api.drupal.org/api/function/hook_user/6:

$op 正在执行什么类型的操作。可能的值(按字母顺序排列):
- “插入”:正在添加用户帐户。该模块应将其对用户对象的自定义添加保存到数据库中,并在 $edit 中将保存的字段设置为 NULL。
- “更新”:正在更改用户帐户。该模块应将其对用户对象的自定义添加保存到数据库中,并在 $edit 中将保存的字段设置为 NULL。
- “验证”:用户帐户即将被修改。该模块应验证其对用户对象的自定义添加,并根据需要注册错误。

该模块需要在中创建自己的数据库表hook_install().

hook_user()可以使用以下代码来实现,例如:

function perscriptions_user($op, &$edit, &$account, $category = NULL){
  if ($op == 'register' || ($op == 'form' && $category = 'account')) {
    $form['surgery_address'] = array (
      '#type' => 'textarea',
      '#title' => t('Surgery Address'),
      '#required' => TRUE,
    );

    return $form;     
  }

  if ($op == 'insert' || $op == 'update') {
    prescriptions_save_user_profile($account->uid, $edit['surgery_address']);
  }
  if ($op == 'validate' && $category == 'account') {
    // Verify the entered values are valid.
    // In this example, the value is contained in $edit['surgery_address'].
  }
}

prescriptions_save_user_profile()是将用户配置文件值保存在数据库中的函数。该代码检查类别以避免在用户配置文件编辑表单中显示的所有选项卡中显示相同的表单字段。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

hook_user():将额外的字段插入数据库而不仅仅是表单 的相关文章

  • SSL:为什么 Chrome 会报告混合内容? (德鲁帕尔 6)

    我刚刚有一个网站运行良好 整个网站都通过 SSL 运行 但 Google Chrome 抛出一条 此页面包含一些不安全元素 消息 这对于最终用户的可信度来说并不好 所有其他浏览器都工作正常 并给出金色挂锁 该网站是一个 Drupal 6 电
  • 使用 jQuery 和 Drupal6 自动更新宽度/长度/面积

    我正在使用 Drupal 创建测量表 Drupal 6 中的测量表 并且现在所有字段都已就位 我只需要编写一些 jQuery 在用户输入数据时自动更新相应的字段 代码如下 jQuery document ready function inp
  • 如何将许多现有文件与 drupal 文件字段关联起来?

    我的服务器上已经存储了许多来自静态网站的 mp3 文件 我们现在正在转向 drupal 我将为每个音频文件创建一个节点 但我不想再次上传每个文件 我宁愿将文件复制到我想要的 drupal 文件目录中 然后将节点与适当的文件关联 关于如何实现
  • 多个站点位于同一目录但独立的数据库中

    在我使用 HostGator 建立的基于 Linux 的共享主机帐户中 很快就会有十几个站点 我的帐户中的 CPanel 备份有文件数限制 为了减少文件总数 我需要大家的建议 以便我继续使用 Drupal 6 添加新的站点 我不想只是为了简
  • Drupal:添加新节点时自动添加菜单项

    在Drupal中向页面添加节点时可以自动添加菜单项吗 换句话说 我可以将菜单父级与节点内容类型相关联 然后在添加新节点时自动添加子级吗 thanks 您可以使用 Drupal 7 上的规则来完成此操作 该模块 http drupal org
  • 更改 Drupal 的主题并保留 Garland 作为管理主题?

    如何在不更改管理主题 站点的 contrib 主题和管理界面的 Garland 的情况下将 contrib 主题应用到 Drupal 6 站点 Thanks 转到管理 gt 站点配置 gt 管理主题 在那里 您可以设置管理主题 如果您想对管
  • 具有多个子字段的 Drupal 自定义 CCK 字段

    有没有办法创建一个可以有多个值的复合字段 每个值都有另一组复合值 例如 我们希望最后有这样的结构 Group 1 unlimited number of groups 子字段 每组无限个子字段 子字段 Group 2 子字段 子字段 对于定
  • 如何在使用 node_save($node) 创建节点时将图像附加到节点;

    您好 我正在使用 drupal 7 并尝试通过使用 php 解析 xml 来导入数据 然后使用以下命令创建节点node save node 到目前为止 我已经成功地从 xml 创建节点 无需任何图像 我想在导入图像时将图像附加到节点 我知道
  • 为什么在 Firefox 中 document.body == null 而在 Safari 中却不然

    我尝试访问的页面出现问题colorbox http colorpowered com colorbox 一种 jQuery 的灯箱 工作 它显然不起作用 因为document body being null在 FireFox 3 5 3 中
  • 带有节点的分类视图

    使用 Drupal 6 我尝试创建一个包含如下视图的页面 分类术语 1 包含该术语的节点的标题和描述 包含该术语的节点的标题和描述 分类学术语 2 包含该术语的节点的标题和描述 包含该术语的节点的标题和描述 分类学术语 3 包含该术语的节点
  • 如何删除 NodeReference 字段中的节点 ID [nid:n]

    这是此链接的同一问题 删除节点引用自动完成中的 nid n https stackoverflow com questions 1515722 removing nidn in nodereference autocomplete 根据第一
  • Drupal Views 将每个分类限制的最新内容显示到一个节点

    我想创建一个视图 其中显示所有 5 个分类术语 然后显示最新发布的节点 但这受到 1 的限制 例如 税收条款 1最新节点发布 税务条款 2最新节点发布 etc etc 目前 我按分类术语进行分组 因此它显示所有已发布的节点 然后按发布日期降
  • 主题化 Drupal 7 的 Ubercart“/cart”页面

    我正在尝试为 Drupal 7 的 Ubercart 3 主题化 cart页面 但我正在努力寻找主题功能来做到这一点 我相信正确的代码可能位于template tpl php 但我不确定 Drupal 中哪里有主题化此页面的代码 创建一个新
  • hook_user():将额外的字段插入数据库而不仅仅是表单

    我可以在注册中添加一个额外的字段 我需要知道的是我需要采取什么步骤来获取该输入并将其插入到 drupal 的用户表中 下面的代码位于我的模块中 它仅向表单添加一个字段 但是当提交时 它不会对数据执行任何操作 function perscri
  • Drupal Ubercart:多币种?

    将多货币支持集成到 Ubercart 的最安全方法是什么 我找到了这个模块 http drupal org project multicurrency http drupal org project multicurrency但它仍在开发中
  • Drupal 6:打印纯正的主链接和所有子链接

    世界上怎么可能 我发誓 我读了相当于三本百科全书的书 却毫无用处 我已经尝试过区域 page tpl php 和块内的解决方案 他们都没有给我我需要的东西 而且我知道还有很多其他人也需要这个 我得出的结论是 我想打印出 page tpl p
  • 将图像添加到 html 块中

    我在 Blocks 内容中添加了一些 html 代码并启用了完整 HTML 过滤器 我对图像使用了相对路径 例如 sites all themes zen zen image png 我想这是不正确的 因为我需要根据我在主页或 node i
  • 如何在 #after_build 中隐藏 CCK Nodereference 输入小部件?

    我喜欢简化节点形式 我过去的技巧之一是 当我想要强制执行某种默认设置时 有条件地在新节点创建时隐藏 CCK 元素 我最喜欢的技巧之一就是快速清除由预填充 http drupal org project prepopulate模块 对我来说不
  • 将自定义模块创建的内容添加到 drupal 搜索索引中

    我开发了一个模块 可以在不使用 CCK 的情况下为我的网站创建内容 数据将保存在Drupal默认表之外的不同表中 我的要求是 如何让 Drupal 索引我的自定义模块创建的内容 你必须实施钩子搜索 http api drupal org a
  • 在 Drupal 中对视图进行排序时忽略“The”

    当用户在 Drupal 站点中对视图进行排序时 如何忽略 The 你有没有尝试过调查视图自然排序模块 http drupal org project views natural sort 取自上面链接的模块页面 提供排序的视图过滤器 以更自

随机推荐