我正在整合内联注册模块(http://drupal.org/project/inline_registration)和Privatemsg模块(http://drupal.org/project/privatemsg)。
问题是将新创建的用户信息传递给Privatemsg函数,以便新用户创建该消息。
在http://www.freelancer.com/projects/PHP-Drupal/Drupal-Inline-Registration-Bug-Fix.html提供付费解决方案。那里也包含定制的模块代码。
感谢您的帮助。
/**
*提交内联注册表格的例程。 * / function inline_registration_submit($ form,& $ form_state){ $ status_save = $ form_state ['values'] ['status']; 未设置($ form_state [ '值'] [ 'UID']); 未设置($ form_state [ '值'] [ '状态']);
user_register_submit($ form,$ form_state);
$ form_state ['values'] ['name'] = $ form_state ['user'] - > name; $ form_state ['values'] ['uid'] = $ form_state ['user'] - > uid; // $ form_state ['privatemsg'] ['author'] ['#value'] = $ form_state ['user']; $ form_state ['values'] ['status'] = $ status_save; }
/**
* Form function for privatemsg.
*/
$form['privatemsg']['author'] = array(
'#type' => 'value',
'#value' => $user,
);
答案 0 :(得分:0)
Privatemsg在privatemsg_new_validate()中构建消息数组/对象(D7)。然后将其保存在$form_state['validate_built_message']
中。因此,您需要添加第二个验证函数,该函数在链接的函数之后运行,并将构建的消息数组更改为您想要的任何内容。
不确定您要在哪里做到这一点,因为新的和回复表单都明确受到匿名访问保护。