Puncte:0

Compararea valorilor „vechi” în hook_user_update

drapel mw

Am o funcție care rulează hook_ENTITY_TYPE_update pentru contul de utilizator, dar vreau să pot compara cu valorile anterioare care ar fi putut fi în contul de utilizator, de exemplu, să văd dacă utilizatorul și-a schimbat adresa de e-mail și să pot reacționa la aceasta.

Pot vedea că dacă rulez depanarea pe $entitate valoare care face parte din funcția că există un element „original” în cadrul valorile matrice, aceasta este singura modalitate de a prelua datele pre-editate?

Puncte:1
drapel cn

Da, datele anterioare editării sunt stocate în original, care vă va permite să accesați toate metodele obiectului utilizator, dar să returnați valorile stării sale anterioare.

Deci, de exemplu, pentru a verifica dacă adresa de e-mail a fost schimbată:

$previous_email = $cont->original->getEmail();

if ($previous_email !== $cont->getEmail()) {
Andrew Morris avatar
drapel mw
Frumos, nu știu de ce IDE-ul meu m-a tot avertizat că nu pot apela $account->original, așa că nu am încercat niciodată să îl rulez, dar chiar spune că așa îl obțineți de aici - https://api.drupal. org/api/drupal/core%21lib%21Drupal%21Core%21Entity%21entity.api.php/function/hook_entity_update/8.2.x

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.