ВНИМАНИЕ! НЕ ИСПОЛЬЗУЙТЕ ОТВЕТ ВЫШЕ. Смотрите мой комментарий для объяснения.
Вместо ответа, представленного выше (, который НИКОГДА не использовать! ) создайте пользовательское условное действие Ubercart (CA) и добавьте его в раздел «Триггер: заказчик завершает оформление заказа» в рабочем процессе Ubercart CA найдено в https://dev.betternow.org/admin/store/ca/overview
Здесь я определяю пользовательский CA
function my_module_ca_action() {
$order_arg = array(
'#entity' => 'uc_order',
'#title' => t('Order'),
);
$actions['my_module_status_update'] = array(
'#title' => t('Some Title'),
'#category' => t('Custom UC AC'),
'#callback' => 'my_module_some_function_name',
'#arguments' => array(
'order' => $order_arg,
),
);
return $actions;
}
Теперь я могу использовать идентификатор заказа в моей собственной функции обратного вызова, определенной в моем модуле:
function my_module_some_function_name(&$order, $settings) {
echo "This is the order id: " . $order->order_id;
}
Я сам использую этот подход, чтобы показать пользователям страницу благодарности со ссылкой на только что приобретенный продукт.