Class OrderHooks
dw.order.hooks
Class OrderHooks
dw.order.hooks.OrderHooks
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:

 "hooks": [
    {"name": "dw.order.createOrderNo", "script": "./orders.ds"},
 ]
 

A hook entry has a 'name' and a 'script' property.
  • The 'name' contains the extension point, the hook name.
  • The 'script' contains the script relative to the hooks file, with the exported hook function.
Constants
extensionPointCreateOrderNo  :  String = "dw.order.createOrderNo"
The extension point name dw.order.createOrderNo.
Properties
Constructor Summary
This class does not have a constructor, so you cannot create it directly.
Method Summary
createOrderNo() : String
This hook is responsible for creating a new order number.
Method Detail
createOrderNo
createOrderNo() : String
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. exports.createOrderNo = function(){ var orderSeqNo = OrderMgr.createOrderSequenceNo(); var prefix = Site.getCurrent().getSiteId(); return prefix + "_"+orderSeqNo; };

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:
the order number