Hook entity insert (Drupal)

Uit De Vliegende Brigade
Ga naar: navigatie, zoeken

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:

Het event is geregistreerd
Een nieuw artikel aangemaakt -- Event vindt niet plaats
Een nieuwe order geplaats -- Event vindt niet plaats. Ik koos bankoverschrijving en de orderstatus is zodoende pending. Misschien speelt dat een rol
Deze order status completed gegeven -- Event vindt nog steeds niet plaats
Bestand:20161203-1658.png
Block aangemakt -- Event vindt niet plaats

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.

Bronnen