/ / hook_commerce_checkout_complete non chiamato - drupal-7, drupal-commerce

hook_commerce_checkout_complete non chiamato - drupal-7, drupal-commerce

Sto cercando di eseguire una logica di business dopoil processo di checkout in Drupal 7 con il modulo di commercio Drupal. Ho letto sulla documentazione che posso usare l'hook hook_commerce_checkout_complete ma non si chiama

function api_manager_commerce_checkout_complete($order) {
$ow = entity_metadata_wrapper("commerce_order", $order);

foreach ($ow->commerce_line_items as $line_item) {
$sku = $line_item->commerce_product->sku->value();

$record = array(
"uid" => get_user_id(),
"sku" => $sku,
"token" => uniqid(),
);

drupal_write_record("api_manager_product_user", $record);
}

}

Per vostra informazione, ho disabilitato "pagamento" e "dati di fatturazione" nella configurazione di checkout

risposte:

3 per risposta № 1

Ogni volta che viene implementato un nuovo hook in Drupal, è necessario cancellare la cache (classe). Solo allora quel particolare hook sarebbe disponibile e licenziato quando invocato.

Se stai usando il modulo di sviluppo, puoi controllare se il tuo hook è riconosciuto dal sistema da Drupal usando module_implements funzione. Il modulo Devel ti offre uno strumento utile a http://www.mysite.com/devel/php per provare tali frammenti.

dpm(module_implements("commerce_checkout_complete"));

Se il nome del tuo modulo non è elencato come output della funzione sopra, significa che il tuo hook non è riconosciuto. Come menzionato in precedenza, cancella la cache in questo caso.