Fork of WebGUI 7.10, maintained by Oqapi
https://git.oqapi.nl/oqapi/webgui
| lib/WebGUI | ||
| sbin | ||
| t/Shop/ShipDriver | ||
| www/extras/yui-webgui/build/ShipDriver | ||
| README | ||
This repo holds a UPS shipping driver for WebGUI, developed against
WebGUI 7.7.8. To install it, you only need to run the install script
in the sbin directory, or, manually add "WebGUI::Shop::ShipDriver::UPS"
to the shippingDrivers entry in your WebGUI config file.
Instructions for registering with the UPS are in the Shipping driver
edit screen.
The driver is currently limited to shipping originating in the United
States only. Here is what is required to make it handle all available UPS
shipping services internationally.
* The Product needs to be modified to have units for weight. Currently,
they are unitless, and likewise, this driver assumes that all weights are in pounds
(the current default weight unit in the United States). The chosen unit is added
to the PackageWeight XML tag, in buildXML.
* The driver code itself needs to be extended to add the shipping services.
1) Add i18n for the names of the new services, and a shipping type. See
the code in the defintion subroutine.
2) Add a new key/value pair to the %shippingTypes hash.
3) The %shippingServices hash has a unique list of shipping services by code. If you
introduce new codes, add the appropriate key/value pairs to the hash. This is
required to get the selected code into the generated HTML, regardless of the
shippingType chosen.
4) There is javascript inside of www/extras/yui-webgui/ShipDriver/UPS.js that will
alter the set of shipping services displayed to the user, based on which shipping
type they have chosen. It in internationalized.
* Inside WebGUI.ShipDriver.UPS.initServiceTables, add a new object to hold codes
and i18n labels to describe the services.
* Add a new service to the switch (newService) statement. Make sure the new case
matches the keys you added to the shippingTypes hash in the definition subroutine.
5) Add a new definition property that allows the user to choose the type of currency
to use for their shipping rate quote.
Country names and codes, and currency codes are ISO standards. Country codes are provided
by the Locales module, ISO 3166. This module already has translations for 13 languages.
For additional languages, they should be added as modules and sent to the Locales module
maintainer.
Currency codes are not currently supported by this driver, nor is there an existing internationalized
currency module. This should be a simple extension to Locales.