Долго искал решение как сделать нумерацию заказов в drupal commerce не порядковым (1,2,3,4,....), а назначать номер заказа соответствующий дате unix timestamp.
Кто-то советовал сделать через rules но это оказалось для меня сложно.
Нашел решение как изменить схему нумерации через хук:
<?php
/**
* Implements hook_commerce_order_presave().
*
* Alter order number.
* $order does not need to be referenced since it is an object.
*/
function yourmodule_commerce_order_presave($order) {
if (isset($order->order_id)) {
// Alter order number by multplying the order id with 63.
$order->order_number = sprintf('%08d', $order->order_id * 63);
}
}
?>
Этот подход работает, но он умножает текущий номер на 63. Как его подправить так, чтобы номеру заказа присваивался timestamp?