Drupal 7 未调用hook\u commerce\u checkout\u complete
在Drupal7和DrupalCommerce模块中的签出过程之后,我尝试执行一些业务逻辑。我已经阅读了文档,我可以使用hook\u commerce\u checkout\u complete,但它没有被调用Drupal 7 未调用hook\u commerce\u checkout\u complete,drupal-7,drupal-commerce,Drupal 7,Drupal Commerce,在Drupal7和DrupalCommerce模块中的签出过程之后,我尝试执行一些业务逻辑。我已经阅读了文档,我可以使用hook\u commerce\u checkout\u complete,但它没有被调用 function api_manager_commerce_checkout_complete($order) { $ow = entity_metadata_wrapper('commerce_order', $order); foreach ($ow->com
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);
}
}
供您参考,我已经在结帐配置中禁用了“付款”和“账单信息”每当Drupal中实现了一个新的钩子,您就需要清除缓存(类)。只有到那时,特定的钩子才可用,并在调用时触发 如果您使用的是devel模块,那么可以通过使用函数检查Drupal是否能够识别钩子。Devel模块为您提供了一个方便的工具,您可以随时尝试这些代码片段
dpm(module_implements('commerce_checkout_complete'));
如果您的模块名称没有作为上述函数的输出列出,则表示您的钩子无法识别。如前所述,在这种情况下,请清除缓存。只要Drupal中实现了一个新的钩子,就需要清除缓存(类)。只有到那时,特定的钩子才可用,并在调用时触发 如果您使用的是devel模块,那么可以通过使用函数检查Drupal是否能够识别钩子。Devel模块为您提供了一个方便的工具,您可以随时尝试这些代码片段
dpm(module_implements('commerce_checkout_complete'));
如果您的模块名称没有作为上述函数的输出列出,则表示您的钩子无法识别。如前所述,在这种情况下,请清除缓存