Drupal 7のWebサイトには何百人ものユーザーがいます。プロファイルに各ユーザーの誕生日の値を手動で入力したくないので、ユーザーがユーザーのお誕生日。
この値は、現在のユーザーによる検証後、空の誕生日フィールドを作成したユーザーのプロファイルに永続的に保存されます。
値を渡すにはどうすればよいですか?
" Webform Rules "モジュールを使用すると、 Rules モジュールに「Webform submited」のようなイベントに反応させることができるはずです。このルールイベントを使用してカスタムルールを作成し、必要なルールアクションを追加します。これらのルールアクションの青写真は次のとおりです。
uid
を使用して、userタイプの。しかし、誕生日の値が異なる同じフォームを再度送信するユーザーはどうでしょうか?そうしたくない場合は、次のように Flag モジュールを追加します。
PS:この回答はD7に適用されます...
Webフォームを変更して、ユーザーフィールドを更新できます。そのためにはform_alterフックを使用する必要があります。必要に応じて変更できるサンプルコードをいくつか追加しました。
function hook_form_alter(&$form,&$form_state,$form_id)
{
if($form_id == 'webform_id')
{
$form['#validate'][] = 'hook_form_validate'; //function name
$form['#submit'][] = 'hook_form_submit'; //function name
}
}
function hook_form_validate($form,&$form_state){
// validate you dob field
}
function hook_form_submit($form,&$form_state){
global $user;
$account = user_load($user->uid);
$edit = array();
if(!empty($form_state['input']['submitted']['first_name'])){
$edit['field_dob'] = array(LANGUAGE_NONE => array(array('value' => $form_state['input']['submitted']['dob'])));
}
user_save($account, $edit);
}
Webform Rules モジュールもご覧ください。