Jump to content

Trying to make a hack to allow guests to change their address in v1.4...


Recommended Posts

Hey all,

I'm sure you're all aware of the rather sill quirk of prestashop 1.4 wherein as soon as you fill out the 'instant checkout' with your details (as a guest customer) that's it, as a customer you can't change them. The only way to do it is to delete the customers details from Admin.

This is a little silly since people do make mistakes when entering data. And unless you want to give your customers admin access, they are stuck forever with the address they entered!

Anyway, I'm trying to work on solving this problem.

As a guest customer who has filled in the instant checkout, when you click on 'cart' you are taken to the 'order.php' page (/Order if you have friendly URL on) and your name/address details are displayed at the bottom of the page. Please see the attached screenshot.

This is the 'logic' of my plan:

Customer on 'order.php' page
::is customer a guest?
 >> yes >>
:: then display option to change (delete) address
If customer clicks change button
:: call function/method to delete their info from database.

Sounds simple like that, and indeed it should be, but I'm struggling with the complexity of Prestashop.

1) Which template displays the addresses at the bottom of order.php as shown in the screenshot? I just can't find it.
2) My idea is to put an 'edit' link next to the address as shown in the screenshot, this would link to 'order.php?delete=yes'. I would add code to 'order.php' which will delete their details when it detects the $_GET delete variable. Is this a sensible way to do it?

Thanks in advance all you cleverer people than me :)


Link to comment
Share on other sites

I figured out a way to do this, it's probably not ideal, but it works.
I'll post info tonight when i have more time.
They have to re-enter all their details inc. name, email etc, but at least they can change it should they need to.

Link to comment
Share on other sites

I don't think you can do this from the back office. But you could change it directly in the database via PHPMyAdmin. Get the 'id_customer' from the customer table then change the corresponding address in the 'address' table

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...