Puncte:0

How to get node id when update a page related to menu link

drapel gb

In my module I use the mymodulename_entity_update() function to listen when an entity is updated:

function mymodulename_entity_update($entity) {
    file_put_contents(__DIR__.'/test.txt', $entity->bundle());
}

When I update an article or a page which is not related to menu link, I receive 'node' as value of the ->bundle() property, as expected.

But if I update a page which is related to a menu link, I receive the 'menu_link_content' as the bundle value and all the data of the $entity object is the data of menu link. The same data I receive when update a menu link. And the only thing that helps me to detect whether a page was updated or menu link is the ->expanded->value property: in the case of a page it equals 0.

The second problem is, how to get ID of the node which is related to the menu link?

I was trying $entity->getRouteParameters()['node'] as recommended by the link https://drupal.stackexchange.com/a/281646/104765 but I receive the error

Call to undefined method Drupal\menu_link_content\Entity\MenuLinkContent::getRouteParameters()...

sonfd avatar
drapel in
Dacă salvați un nod cu un link de meniu, acesta va salva linkul de meniu (din formularul din formularul de editare a nodului), precum și nodul. Nu este clar ce încercați să faceți, dar poate doriți să utilizați [hook_ENTITY_TYPE_update()](https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Entity%21entity.api .php/function/hook_ENTITY_TYPE_update/9.2.x), de ex. `hook_node_update()`, pentru a acționa numai asupra unui nod actualizat.

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.