lat9 / one_page_checkout

One-Page Checkout for Zen Carts v1.5.7a and later.
GNU General Public License v2.0
15 stars 11 forks source link

Making the phone number optional at registration #337

Open marco-pm opened 2 years ago

marco-pm commented 2 years ago

Currently, even "simple" registered customers (Enable account registration set to true) must provide their phone number when registering. This is a very sensitive information that the customer doesn't like to provide (and often leading the customer to avoid the registration) and should not be requested unless strictly necessary (for example only at the checkout or if the shop owner needs it).

In general, only name, email and password should be required for a basic registration. I would add an option in the admin to set the phone number as optional on the "basic" (not full) registration page (three options: don't show input / show input as optional / show input as required).

Then, If #336 is implemented, if the customer doesn't have any phone number yet, they could easily add it directly at checkout.

lat9 commented 2 years ago

I'm confused. There are base Zen Cart settings that can make the Phone Number optional.

You set Configuration :: Minimum Values :: Telephone Number to 0 and then (unfortunately) edit the ENTRY_TELEPHONE_NUMBER_TEXT definition (that's where the '*' indicating requirement is set) in /includes/languages/YOUR_TEMPLATE/english.php to set that definition to an empty string.

marco-pm commented 2 years ago

I'm confused. There are base Zen Cart settings that can make the Phone Number optional.

You set Configuration :: Minimum Values :: Telephone Number to 0 and then (unfortunately) edit the ENTRY_TELEPHONE_NUMBER_TEXT definition (that's where the '*' indicating requirement is set) in /includes/languages/YOUR_TEMPLATE/english.php to set that definition to an empty string.

You're right, I was thinking about the "customer details" options (where you can directly disable some fields like DOB) and forgetting the "minimum values" and language file (although not a particularly practical way, as you said).

However, I was thinking more about the common situation where the phone number is mandatory only for the order / shipment (so it must be present in the order). In other words, "delay" (if the store owner sets the option) the request of the phone number to the customer until their first checkout, as is the case now for billing and shipping addresses with registered (not full) accounts.

lat9 commented 2 years ago

You're right, I was thinking about the "customer details" options (where you can directly disable some fields like DOB) and forgetting the "minimum values" and language file (although not a particularly practical way, as you said).

However, I was thinking more about the common situation where the phone number is mandatory only for the order / shipment (so it must be present in the order). In other words, "delay" (if the store owner sets the option) the request of the phone number to the customer until their first checkout, as is the case now for billing and shipping addresses with registered (not full) accounts.

My head's a bit of a tangle lately, I'm having a problem understanding the highlighted phrase above. Are you suggesting that the base Zen Cart customer create-account processing defer, like the OPC account-registration, the gathering of the phone number until the customer's first order?

marco-pm commented 2 years ago

My head's a bit of a tangle lately, I'm having a problem understanding the highlighted phrase above. Are you suggesting that the base Zen Cart customer create-account processing defer, like the OPC account-registration, the gathering of the phone number until the customer's first order?

An additional option like "if phone number is required, make it required only at checkout?"

To answer your question: yes, this could be included in the base Zen Cart customer create-account processing. But I was thinking only about OPC, for OPC registered-accounts (header_php_create_account_register.php and tpl_create_account_register.php), because that's where it makes the more sense to me. Deferring the phone number makes the registration even easier for the customer, that's it. No addresses nor phone number requested. And it could be easily implemented in OPC without touching the core.

Sorry if I haven't been very clear 🙂 the thing is, I hardly ever use/think about the ZC base registration because it's too outdated. With it, the customer already needs to enter many fields; asking for the phone number as well doesn't change much in that case — it's just another field. With OPC registered account instead (which would be the standard method of registration if it were for me) the goal is a quick and easy registration. The less "friction" there is, the better. So not having the phone number there would be a further improvement. Just my 2 cents.

lat9 commented 1 year ago

Noting that this will be addressed in the next non-bugfix release.