BasketMergeHooks
CalculateHooks
CheckoutHooks
OrderHooks
PaymentHooks
ReturnHooks
ShippingOrderHooks
DID THIS ARTICLE SOLVE YOUR ISSUE?
Let us know so we can improve!
Let us know so we can improve!
This interface represents all script hooks that can be registered to customize the order logic. It contains the extension points (hook names), and the functions that are called by each extension point. A function must be defined inside a JavaScript source and must be exported. The script with the exported hook function must be located inside a site cartridge. Inside the site cartridge a ‘package.json’ file with a ‘hooks’ entry must exist.
“hooks”: ”./hooks.json”
The hooks entry links to a json file, relative to the ‘package.json’ file. This file lists all registered hooks inside the hooks property:
1"hooks": [
2 {"name": "dw.order.createOrderNo", "script": "./orders.ds"},
3]A hook entry has a ‘name’ and a ‘script’ property.
| Constant | Description |
|---|---|
| extensionPointCreateOrderNo: String = “dw.order.createOrderNo” | The extension point name dw.order.createOrderNo. |
This class does not have a constructor, so you cannot create it directly.
| Method | Description |
|---|---|
| createOrderNo() | This hook is responsible for creating a new order number. |
assign, create, create, defineProperties, defineProperty, entries, freeze, fromEntries, getOwnPropertyDescriptor, getOwnPropertyNames, getOwnPropertySymbols, getPrototypeOf, hasOwnProperty, is, isExtensible, isFrozen, isPrototypeOf, isSealed, keys, preventExtensions, propertyIsEnumerable, seal, setPrototypeOf, toLocaleString, toString, valueOf, values
The extension point name dw.order.createOrderNo.
This hook is responsible for creating a new order number.
By default order numbers are generated by using OrderMgr.createOrderSequenceNo(). Use this hook to customize the order number generation. E.g. a prefix or suffix could be added.
1exports.createOrderNo = function(){
2 var orderSeqNo = OrderMgr.createOrderSequenceNo();
3 var prefix = Site.getCurrent().getSiteId();
4 return prefix + "_"+orderSeqNo;
5};If the method returns null or an blank string order number generation will fall
back to OrderMgr.createOrderSequenceNo().
The maximum length of the order number is 50 characters.
Returns: