드루팔 (Drupal)이 새로 도입되었습니다.Drupal 7 현재 세션에 대해 사용자가 만든 필드 값을 변경하십시오.
데이터베이스에 저장하지 않고 현재 세션에서 사용자가 만든 필드 값을 설정해야합니다.
나는 수년간 협회 회원 이었지만 최근에 사용자로 웹 사이트에만 추가되는 사용자들과 주택 건설업자 협회의 회원 정보를 반영하는 웹 사이트를 운영하고 있습니다. 따라서이 사이트는 오랜 시간이 아닌 짧은 시간 동안 회원임을 보여줍니다.
내가 협회에 가입했을 때의 사용자 정의 필드를 추가했습니다. 사용자 정보를 변경하고 사용자 정보를 변경하고 사용자 프로필-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));' –