News:

Support the VirtueMart project and become a member

Main Menu

Can you turn off the confirm order?

Started by chancehoggan, October 18, 2011, 01:20:46 AM

Previous topic - Next topic

chancehoggan

I would like to remove the step to confirm order and just move directly to checkout? How can I go about doing this?

cas

Did you ever get an answer to your question?  I was wondering the same thing. 

carbon

Every time I show a client (or shop user/tester) how the checkout process works they always ask. "Why do you have to click again (on what they perceive to be the same page ) to confirm the order?" This checkout flow existed in vm 1 I had hoped it would have disappeared in vm2

Milbo

Carbon it is a legal thing. And please use the right words, maybe my words are wrong. But I just define now the words how I use them.

Check out, means afaik that there is a check, todo something. For exampel, Check in,.. you do a check (or get checked) to go in.

So the checkout is the check to get out of process. To go out of the shop. So you do a check. From the legal point, you check if all data is there todo a contract. Then the shopper is confirming this contract. So for exampel in germany the confirm is imho and afaik mandatory.

Okey, but in your country it seems to be legal, so lets find a way to todo it configurable. Go in FE/helpers/cart.php. Here the whole process is done. Look for the variable $this->_dataValidated. When this variable is set to true, then the confirm comes directly. The confirm should check the data again, the same as checkout (prevent hackers, outdated session and things like this), so it should work.

When you find a nice way, then we can add a if(VmConfig::get('validate_checkout')) and make it optional.
Should I fix your bug, please support the VirtueMart project and become a member
______________________________________
Extensions approved by the core team: http://extensions.virtuemart.net/

Kangelova

This is a good point everyone is raising, I had the same questions from users asking why the process is two step. I haven't seen this handled like this on any website in the UK. From a legal perspective they are legally binded from the moment they click "confirm". I will try your method and see whether it works for me...

PolishedGeek

Is there not a way to have the cart summary show at the top of the checkout page in VM2, so that way it will be all in one step? (Review, and then Place Order)
~ Deb Cinkus, CEO
Polished Geek, LLC   |    www.PolishedGeek.com

Creators of JoomLister - eBay Lister for Joomla!

Kangelova

#6
Didn't get anywhere with this...still wants a confirmation...I tried to look into $this->_dataValidated and it was set to "true" everywhere in the cart.php... I am missing something. Or it is not my day today because every change and fix I try to implement does not work  ;D

*UPDATE*

Just did it. Now it goes straight to confirm order. For those with less experience in php here's the way:

in cart.php


/**
    * Remove the cart from the session
    *
    * @author Max Milbers
    * @access public
    */
   public function removeCartFromSession() {
      $session = JFactory::getSession();
      $session->set('vmcart', 0, 'vm');
   }

//CHANGE THIS LINE ->>   public function setDataValidation($valid=false) {
   
   $this->_dataValidated = $valid;
      //       $this->setCartIntoSession();
   }

//WITH THIS - >> public function setDataValidation($valid=true)

cas

It works!  Great job Kangelova.  Thanks!

Milbo, it would be great if you could make this an admin option as you mentioned in your post. 

Thanks,
Chuck

Milbo

oh there are so much other things todo.
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

I know, we're all way too busy!  Whatever happened to the good old days before technology!  Anyway, we appreciate all you do and hope you find the time for one more enhancement.   Thanks!

nicole2292

Thank you so much Kangelova for your assistance with this matter.

Cheers,

Nicole

MikeUK

#11
Quote from: cas on November 27, 2011, 05:59:12 AM
It works!  Great job Kangelova.  Thanks!

Milbo, it would be great if you could make this an admin option as you mentioned in your post. 


Personally, I think things like that are a very bad idea. It's called 'feature creep'. We now have what appears to be a working hack. Better to keep VM2 trim and not have masses of admin options covering every possibility. Not saying that this is not an important thing for some people (although the way VM does this exists commonly in ecommerce), but that could be said for many other potential features.
Get answers faster:
    [li]
Search forum. You might find answer[/li]
[li]Use existing threads. Keep Q + A consolidated[/li]
[li]Troubleshooting? See http://forum.virtuemart.net/index.php?topic=60033.0[/li]
[li]For admin user manual - http://virtuemart.net/documentation/User_Manual/index.html[/li]
[li]For coding (developer manual) - http://virtuemart.net/documentation/Developer_Manual/index.html[/li][/list]

I can build your online shop, setup or customize Virtuemart or help your existing shop maximize its potential. Email / PM for info

cas

I agree we don't want to hack the code, but what choice do we have when we're told there isn't time to make it an admin option?  My customers are confused and asking me why do they have to confirm twice when they didn't change anything.  I agree with them.  I can't remember ever buying anything online that required me to confirm the same information twice.   I still hope you can find time to make it an admin option so we don't have to hack the code. 

MikeUK

Quote from: cas on November 29, 2011, 07:39:08 AM
I agree we don't want to hack the code, but what choice do we have when we're told there isn't time to make it an admin option?  My customers are confused and asking me why do they have to confirm twice when they didn't change anything.  I agree with them.  I can't remember ever buying anything online that required me to confirm the same information twice.   I still hope you can find time to make it an admin option so we don't have to hack the code.

I'm not saying it's not a good idea for you and others here. But this is an open-source project. Anyone can make this change, and post it in the Development, Hacks and Tweaks section. New ideas / features don't always want to end up in the core, otherwise it gets bloated.

This is the great thing with open-source - we can change it to fit with our customers / business (which is our responsilbility, not VM's). For non-developers or those without time, there is the commercial jobs section, plus a number of developers around the forums that may be happy to do such a modification as a paid job,
Get answers faster:
    [li]
Search forum. You might find answer[/li]
[li]Use existing threads. Keep Q + A consolidated[/li]
[li]Troubleshooting? See http://forum.virtuemart.net/index.php?topic=60033.0[/li]
[li]For admin user manual - http://virtuemart.net/documentation/User_Manual/index.html[/li]
[li]For coding (developer manual) - http://virtuemart.net/documentation/Developer_Manual/index.html[/li][/list]

I can build your online shop, setup or customize Virtuemart or help your existing shop maximize its potential. Email / PM for info

lemtrac

Quote from: Kangelova on November 27, 2011, 02:21:20 AM
Didn't get anywhere with this...still wants a confirmation...I tried to look into $this->_dataValidated and it was set to "true" everywhere in the cart.php... I am missing something. Or it is not my day today because every change and fix I try to implement does not work  ;D

*UPDATE*

Just did it. Now it goes straight to confirm order. For those with less experience in php here's the way:

in cart.php


/**
    * Remove the cart from the session
    *
    * @author Max Milbers
    * @access public
    */
   public function removeCartFromSession() {
      $session = JFactory::getSession();
      $session->set('vmcart', 0, 'vm');
   }

//CHANGE THIS LINE ->>   public function setDataValidation($valid=false) {
   
   $this->_dataValidated = $valid;
      //       $this->setCartIntoSession();
   }

//WITH THIS - >> public function setDataValidation($valid=true)

worked - thank you