Checkout: How to display choice of purchase methods if session cookie is set?

Oxid V 4.2 EE

Problem:
If a user opts for buying a product without registering or logging in, then goes to the checkout process, then discovers another product and calls the checkout process a second time the page with the 3 options “purchase without registering” / “Login” /“Register” is not displayed.

The options are displayed in the user.tpl

It seems as if the initial choice of the user is stored in the session cookie. It seems as if the Oxid system treats the user as “logged in” (I can see his first and last name) although the user never opted for registration or login. He just purchased an item.

Possible solutions?

  1. Either the user state should be re-initialized to an anonymous user after the thankyou page of his initial purchase

  2. Or I should be able to determine the user’s exact state (anonymous buyer or logged in) in the user.tpl so I could display the register option when the anonymous buyer goes through the checkout process a second time.

Any ideas for a solution (1. or 2.)?

Thanks in advance,

finnegan

P.S. I appreciate German answers, too.

[QUOTE=finnegan;32644]

  1. Either the user state should be re-initialized to an anonymous user after the thankyou page of his initial purchase
    [/QUOTE]
    Why should it be like this? Aint it good that the user does not have to login a second time in cases such as you display in question number 2? I mean, how happy will the user be to be forced to write in all information again?
    Seems to me like the already working functionality is a good function to help the user be more willing to do the impulsive buy right after the first one.

[QUOTE=finnegan;32644]
2. Or I should be able to determine the user’s exact state (anonymous buyer or logged in) in the user.tpl so I could display the register option when the anonymous buyer goes through the checkout process a second time.
[/QUOTE]
I think that if the user doesnt want to register the first time, why would he want to do it the second time directly after the first time?
Choices are good, but will they be used by the customers?

[QUOTE=finnegan;32644]
P.S. I appreciate German answers, too.[/QUOTE]
I would appreciate English answers as German answers goes in the german forum, because I for one dont speak german.

Just my thoughts :slight_smile:

I second betatests’ opinion: I find it OK (and logical) the way it is…

Even if the customer would register on the second run (why should he change his mind meanwhile?), it would not help too much: the first order (processed unregistered) would not be recognized as belonging to him!

There are already lengthy dicusssions about that in the forum…

Thanks to @betatest and @avenger for sharing your thoughts!

My question was motivated by a customer requirement but I will communicate your ideas to him.

There are already lengthy dicusssions about that in the forum…

I apologize for not having searched the forum thoroughly …

But the technical question remains: how can I query the exact user state in user.tpl? Which methods of which object are available in this template? Or: where can I find information on this tecnical issue?

Thanks once again,

finnegan

Hi finnegan,

my opinion: the oxid solution is o.k. The users are sure glad. Now it must be communicated properly. Then Mr P. is, hopefully, happy. :wink:

Greetings Frank F.

I think it’s not 100% OK. There is no logout button, and no sign to the user that he is in logged-in state. What if this is a public computer?
If you’re logged in this way (anonymous) and you log in as another user, your name is not displayed like usual, instead you have to click once again to be logged in.

Hi Finnigan,

[QUOTE=finnegan;32731]
But the technical question remains: how can I query the exact user state in user.tpl? Which methods of which object are available in this template? Or: where can I find information on this tecnical issue?
[/QUOTE]

Have a look at the source code documentation:
http://docu.oxid-esales.com/CE/sourcecodedocumentation/4.3.2.27884/

Shall be like oxcmp_user.getLoginStatus()

Regards