News:

Looking for documentation? Take a look on our wiki

Main Menu

My checkout process Notes

Started by Gruz, February 23, 2012, 14:30:22 PM

Previous topic - Next topic

Gruz

Unregistred user flow now (dev 2.0.2 version) is:
I.  1) Add to cart -  2) show cart -  3) press confirm - 4) enter needed fields -  5) _reconfirm_.

->->

My suggestion is to remove the reconfirm step.

II. Hide confirm button when the cart is empty (the cart is accessible by direct link)



III. When at step 4) I press "checkout as guest", after JS alert I see red-bordered fields to fill, and this is correct:


If I press "Register and checkout", then I get more fileds red-bordered, and it's right:


But if I the once more press "Checkout as Guest", then still fields are red-bordered for "Checkout and register"


So for the second "Checkout as guest" the validate JS should resent previously set red-borders and check from scratch.

IV. At step 4) I fill the form and do not set country and province:

I press i.e. "checkout as guest" and I'm at step 5) (reconfirm).


I press confirm (Checkout now) once more (for the 2rd time) and damn!
        Missing value for Country


So I have to set the country and press the confirm button for the third.

I beleive the confirm button should be pressed only once. But now it has to be pressed 2 or even three times.
And in this case the Required not enteres country should not allow me to press "Checkout as guest"





And anothe situation.

(by experiments I've found out, that I should use VirtueMart account maintenance as joomla register link - http://static.xscreenshot.com/2012/02/23/15/screen_c7cee0ad3594ef1bdac21b88ea352539)

But!

I used a native register form with enabled user profile fields


Next I try to buy something


And asked to enter the same info


And when trying to buy, user gets the requirment to enter the same info to the billto info. I realize, joomla user profile and virtuemart user profile are different profiles. But they should be synchronized in this case. The default joomla register link can be visited by the user in many cases except clicking the proper register link in the menu.

OR! We can add a small plugin to catch register and redirect to VM register.

P.S. The reason I used the regular register form is built-in captcha support, which is not present in index.php?option=com_virtuemart&view=user&layout=edit
Your installable language for VM2: http://gruz.org.ua/virtuemart-language-files.html

Milbo

The first thing is a small js glitch. It is not deactivating the require.

The other thing is also just a small bug and I do not understand how it happens, because when I am not logged in go to the cart, when I log in, I get directly my addresses. The normal flow for a user should also be that he is registering while is doing the checkout.

The stuff in the Background is more complex.
First: Virtuemart has no own profile, vm2 uses the joomla profile. But we extend this data with the virtuemart stuff. But for anonymous checkout we need to hold the data, which is done in the cart.

"I used a native register form with enabled user profile fields"
That is the problem then. Com_contact is NOT automatically connected or created with a joomla account. Maybe in j2.5. For many different reasons com_contact is not useable for us. The joomla contact data is its own entity which is not part of the joomla profile. JUser has no contact data. the Contact data stands for its own and when you display it, it adds the data of a juser. We do it exactly the opposite. We take jUser and extend it with vm data.


CREATE TABLE `jos_users` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NOT NULL DEFAULT '',
`username` VARCHAR(150) NOT NULL DEFAULT '',
`email` VARCHAR(100) NOT NULL DEFAULT '',
`password` VARCHAR(100) NOT NULL DEFAULT '',
`usertype` VARCHAR(25) NOT NULL DEFAULT '',
`block` TINYINT(4) NOT NULL DEFAULT '0',
`sendEmail` TINYINT(4) NULL DEFAULT '0',
`registerDate` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`lastvisitDate` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
`activation` VARCHAR(100) NOT NULL DEFAULT '',
`params` TEXT NOT NULL,

There is no address, non of these data. And no the params are not used to store the contact id.
Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/

Gruz

Quote from: Milbo on February 23, 2012, 19:20:33 PM
The first thing is a small js glitch. It is not deactivating the require.

The other thing is also just a small bug and I do not understand how it happens, because when I am not logged in go to the cart, when I log in, I get directly my addresses. The normal flow for a user should also be that he is registering while is doing the checkout.

I think you mean my point III and IV, not I and II

But they are minor. The first one, I,  is the key one. Is any attention to it?


Quote from: Milbo on February 23, 2012, 19:20:33 PM
The stuff in the Background is more complex.
First: Virtuemart has no own profile, vm2 uses the joomla profile. But we extend this data with the virtuemart stuff. But for anonymous checkout we need to hold the data, which is done in the cart.

"I used a native register form with enabled user profile fields"
That is the problem then. Com_contact is NOT automatically connected or created with a joomla account. Maybe in j2.5. For many different reasons com_contact is not useable for us. The joomla contact data is its own entity which is not part of the joomla profile. JUser has no contact data. the Contact data stands for its own and when you display it, it adds the data of a juser. We do it exactly the opposite. We take jUser and extend it with vm data.

I believe you are mistaken. At least for J2.5
Look, I register via joomla register form:


And the data is stored in jos_user_profiles


Nothing with com_contact. Com_contact MAY create contact pages automatically based on the profile info. But it's a profile info!
And at least partially crossed with jos_virtuemart_userinfos data.

Since I can use not joomla user registration but a VM one, it's not critical. BUT! It should work in the correct way.

But VM register form lacks CAPTCHA... And this makes it useless once the page is harvested by spam bots.
Your installable language for VM2: http://gruz.org.ua/virtuemart-language-files.html

Milbo

Gruz, you forget two things.

First vm2 was developed for j1.5 and not for j2.5. Second even j2.5 does not fit, because we need be able to add more than one address to a user
Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/

Gruz

I'm tired to discuss it. Currently there is now way to allow user to register in shop and enter billto info before buying something. VM regfister from is not protected with captcha and half-login user after registration in J2.5

If you don't see the problem, ok, just forget it and do more important things. Don't worry about it. It seems only me need it and I think I know a way out (-:
Your installable language for VM2: http://gruz.org.ua/virtuemart-language-files.html

Milbo

You seem to misunderstand. Plugins for userfields were always planned and that is the right way todo it. Also it is not possible to login halfway, that is then another problem. Because there exist no extra virtuemart session. You can only login to joomla.
Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/

cas

Hi Gruz,

You are not the only one needing the Joomla user address and VM user address to be synchronized: http://forum.virtuemart.net/index.php?topic=93948

Milbo

Imho the right method todo this is not to change the whole system again. Imho the right method is to add a method to the store function, checking if it is joomla 2.5 and is overwriting the joomla data.
Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/

Gruz

Cas, I think I know what to do to solve this. I will share the solution as soon as I finish. Give me a couple of days.
Your installable language for VM2: http://gruz.org.ua/virtuemart-language-files.html