hook_user():将额外的字段插入数据库而不仅仅是表单
我可以在注册中添加一个额外的字段。我需要知道的是我需要采取什么步骤来获取该输入并将其插入到 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') {
// …
}
}
I can add an extra field to the registration. What I need to know is what step do I need to take to then grab that input and insert it into the user table of drupal. The code below is in my module this adds just a field to the form, but when its submitted it doesnt do anything with the data.
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') {
// …
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
正如 hook_user() 文档中所述:
该模块需要在
hook_install()
中创建自己的数据库表。hook_user()
可以使用以下代码实现,例如:prescriptions_save_user_profile()
是将用户配置文件值保存在数据库中的函数。该代码检查类别以避免在用户配置文件编辑表单中显示的所有选项卡中显示相同的表单字段。As reported in hook_user() documentation:
The module needs to create its own database table in
hook_install()
.hook_user()
could be implemented with the following code, for example:prescriptions_save_user_profile()
is the function that saves the user profile values in the database. The code checks the category to avoid to show the same form fields in all the tabs shown in the user profile edit form.