Script: Class dw.order.OrderHooks

Class 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