私はDrupalが非常に新しいです。Drupal 7現在のセッションでユーザが作成したフィールド値を変更します
ユーザが作成したフィールド値を、現在のセッションでデータベースに保存することなく設定する必要があります。
私は長年にわたり協会のメンバーになっていたが最近ユーザーとしてウェブサイトに追加されているユーザーと住宅建設業者の協会のメンバーシップを反映したウェブサイトを持っています。したがって、サイトでは、長い時間ではなく、短時間でメンバーになることが示されています。
アソシエーションに参加したときのカスタムフィールドを追加しました。その情報を取得してユーザー情報を変更してデータベースに保存することができました(user-profile-item.tpl.php )、現在のセッションではなく、後続のデータベース呼び出しの情報のみを変更します。また、user-profile.tpl.phpの$ user_profile変数を変更しようとしましたが、現在のセッションで何も変更されませんでした。データベースを変更しても構いませんが、現在のセッションで作成されたフィールド値を更新するにはどうすればよいですか?
ウェブサイト:http://certifiedmasterbuilder.com
これは私が試したものです:
global $user;
$user = user_load($user_profile['field_zip']['#object']->uid);
$join_date = field_get_items('user', $user, 'field_join_date')[0]['value']; $user->created = $join_date;
$user_save($user); // <-- This saves it to the database, but does not update the //current session value
// I tried this to update the current session, but it does not work
field_attach_update('user', $user);
entity_get_controller('user')->resetCache(array($user->uid));
誰もこのために助けを借りていませんか?これは簡単なことだと思ったけど、まだ何の助けも受けていない!!!! お願いします。私がする必要があるのは、現在のセッションでユーザーの作成日を変更することだけです.... –
何を試しましたか?コード抽出など。 – Fky
私の最新の試みは次のとおりです。 'global $ user; $ user = user_load($ user_profile ['field_zip'] ['#オブジェクト'] - > uid); $ join_date = field_get_items( 'user'、$ user、 'field_join_date')[0] ['value']; $ user-> created = $ join_date; $ user_save($ user); //これはデータベースに保存されますが、現在のセッション値は更新されません //これを試行して現在のセッションを更新しましたが、動作しません field_attach_update( 'user'、$ user); entity_get_controller( 'user') - > resetCache(array($ user-> uid)); ' –