| 1 |
|
| 2 |
uc_addresses Module
|
| 3 |
------------------------
|
| 4 |
by Tony Freixas
|
| 5 |
|
| 6 |
This module was originally authored by Ben Thompson. I've made a lot
|
| 7 |
of changes since acquiring the module.
|
| 8 |
|
| 9 |
The module changes the way Ubercart handles addresses. By default,
|
| 10 |
Ubercart looks at a customer's previous orders and finds all unique
|
| 11 |
addresses. It displays these in a select box, using the Street Address
|
| 12 |
as a label. A customer who has registered but never ordered will have
|
| 13 |
no contact information other than an e-mail address.
|
| 14 |
|
| 15 |
With this module installed, user addresses are stored in a new
|
| 16 |
database table, one that the user can manipulate as part of the user
|
| 17 |
profile.
|
| 18 |
|
| 19 |
One caveat: The admin order system continues to work as it always did.
|
| 20 |
Addresses come from previous orders and not from the uc_addresses
|
| 21 |
table. This trips up a lot of people.
|
| 22 |
|
| 23 |
Module overview:
|
| 24 |
---------------------
|
| 25 |
|
| 26 |
When users create an account, you can request that they be asked to
|
| 27 |
provide contact information. This initial entry can be edited later.
|
| 28 |
|
| 29 |
When users visit their "My account" page, a new tab will be present:
|
| 30 |
Addresses. They will be able to:
|
| 31 |
|
| 32 |
* Add a new address
|
| 33 |
* Edit an existing address
|
| 34 |
* Mark any one address as the "default"
|
| 35 |
* Delete any address except the "default" address
|
| 36 |
|
| 37 |
Each address can be given a short "nickname".
|
| 38 |
|
| 39 |
When placing an order, users will be able to:
|
| 40 |
|
| 41 |
* Select an address from the set that appears in their profile
|
| 42 |
* Modify the address for the order and save it as another address in
|
| 43 |
their profile.
|
| 44 |
|
| 45 |
At your discretion, the delivery and/or the billing address can be
|
| 46 |
pre-filled with the user's "default" address.
|
| 47 |
|
| 48 |
Warning: If pre-filling the delivery address and you charge for
|
| 49 |
shipping, be sure to require that the user select a shipping method
|
| 50 |
before they can place an order. Otherwise, the order may go through
|
| 51 |
without shipping being charged. You may also want to use the
|
| 52 |
Auto-calculate Shipping module to make things easier for your users.
|
| 53 |
|
| 54 |
Instead of selecting an address by street name, the selector will
|
| 55 |
display the address's nickname or else the entire address: Name,
|
| 56 |
street1, street2, city, etc.
|
| 57 |
|
| 58 |
To accommodate sites that have existing users, the code will work even
|
| 59 |
when users have no addresses.
|
| 60 |
|
| 61 |
Note: when a user is deleted, all their address are also deleted.
|
| 62 |
|
| 63 |
Dependencies
|
| 64 |
------------
|
| 65 |
|
| 66 |
This module requires uc_order and uc_store.
|
| 67 |
|
| 68 |
Installation
|
| 69 |
------------
|
| 70 |
|
| 71 |
* Copy the uc_addresses module's directory to your modules directory
|
| 72 |
and activate it. I have mine in /sites/all/modules/uc_addresses.
|
| 73 |
* Activate the module, set up permissions and go to your account
|
| 74 |
page to begin using the new Addresses tab.
|
| 75 |
|
| 76 |
|
| 77 |
Permissions
|
| 78 |
-----------
|
| 79 |
|
| 80 |
view default addresses: Roles with this permission can view anyone's
|
| 81 |
default address.
|
| 82 |
|
| 83 |
view all addresses: Roles with this permission can view anyone's list
|
| 84 |
of addresses.
|
| 85 |
|
| 86 |
add/edit addresses: Roles with this permission can add to or edit
|
| 87 |
anyone's address list. To be useful, roles with this permission can
|
| 88 |
also view anyone's list of addresses.
|
| 89 |
|
| 90 |
To be complete, I should add 'view own default address', 'view own
|
| 91 |
addresses', and 'add/edit own addresses', but I can't see that any of
|
| 92 |
these make sense.
|
| 93 |
|
| 94 |
Tony Freixas
|
| 95 |
tony@tigerheron.com
|
| 96 |
http://www.tigerheron.com
|