Hook entity insert (Drupal)
hook_entity_insert is een generieke hook die voor alles en nog wat handig is, bv. als een nieuwe order in Drupal Commerce is ingegeven (omdat er geen specifieker event bestaat). Vooralsnog krijg ik 'm alleen niet aan de praat
Casus: In gebruikname (dec. 2016)
Situatie
Om 'm te testen gebruik ik deze code:
// entity_insert ///////////////////////////////////////////// // function commerce_adwords_entity_insert($entity, $type) { print "<br><br><br> entity_insert"; print phpinfo(); } // Overige events ///////////////////////////////////////////// // function commerce_adwords_commerce_order_presave($order) { print "<br><br><br> commerce_order_presave"; // print phpinfo(); } function commerce_adwords_order_state_info() { print "<br><br><br> commerce_adwords_commerce_order_presave - Sla nieuwe order op "; // print phpinfo(); } function commerce_adwords_entity_presave() { print "<br><br><br> entity_presave"; // print phpinfo(); } function commerce_adwords_entity_update($entity, $type) { print "<br><br><br> entity_update"; // print phpinfo(); } function commerce_adwords_commerce_order_status_update() { print "<br><br><br> commerce_order_status_update"; // print phpinfo(); } function commerce_adwords_commerce_order_status_info() { print "<br><br><br> commerce_order_status_info"; // print phpinfo(); } function commerce_adwords_commerce_checkout_complete() { print "<br><br><br> commerce_checkout_complete"; // print phpinfo(); } function commerce_adwords_init() { if (arg(0)=='checkout' && arg(2)=='complete') { print "<br><br><br> commerce_adwords_init - checkout-completed-page<br>"; } }
Probleem: Event vindt niet plaats
De meeste van bovenstaande events vinden niet plaats, in het bijzonder het beoogde event_insert
-event:
Syntaxis
Diverse voorbeelden van de aanroep die ik vond dankzij grep -rn . -e "entity_update"
in de Drupal-instantie waarmee ik werk:
* function entityreference_entity_insert($entity, $entity_type) { * function rules_entity_insert($entity, $type) { * function feeds_entity_insert($entity, $type) { * function entity_test_entity_insert($entity, $entity_type) {
Er wordt dus geen gebruik gemaakt van '&'-symbolen of dergelijke zaken die ik lang geleden heb geleerd.