Comments (23)
from sylius.
Am I right in thinking this hasn't been implemented yet? (see also Sylius/Sylius-Sandbox#66 )
from sylius.
@therefromhere Correct, not implemented yet.
from sylius.
What is the status of this?
@pjedrzejewski Can you give more infor, ideas on this? Maybe I can give it a try some day.
from sylius.
@pjedrzejewski Ping, I am interested to contribute.
from sylius.
@pjedrzejewski I will start to work on this. If you have something to say please speak now or forever hold your peace :)
from sylius.
Only thing I am concerned about is that it complicates the processing quite a lot if we do not create accounts for guests. If you have some idea how to solve it elegantly (I was thinking about creating User's anyway, with the e-mail entered by guest), then go for it!
from sylius.
@pjedrzejewski I was kinda hoping to do it without user creation. Do you think its possible?
from sylius.
from sylius.
I think that creating ghost users is not the way. Maybe isolating of user all data which is used by order management would be a better approach.
from sylius.
Maybe, yeah...
from sylius.
+1 for this feature. It's imperative for good UX.
@umpirsky Did you ever get anywhere with this?
From what I know/experienced, guest checkouts involve creating users and having them access their account via a short-lived password reset token sent to their email.
from sylius.
@antonydb We have some internal solution for this. We create user on the fly.
from sylius.
Thanks @umpirsky. Do you know if there are any plans to include this functionality in the standard release? I'm looking for a quick way to implement it. I'm guessing there's not judging by the roadmap.
from sylius.
@antonydb There was a plan to do so, but I don't think it's gonna happen soon.
Maybe if someone needs it badly and have time to contribute.
from sylius.
@pjedrzejewski If you will store all related information in Order entity(for example billing address, customer first/last name) you can simply implement Guest checkout.
For example Magento and OpenCart duplicate customer information in same way.
It also is needed for reason to see correct order history, because any changes from customer side in profile will clear it. Correct order history is very import for accountant and you should not forget about it.
Please do not create guest customers on the fly it will be a nightmare when database table became about gigabytes of useless data :)
from sylius.
@torinaki Well, whether you store customer info on the order or on a customer record which is only attached to the order really comes out to be the same data volume. The addresses are already treated this way so that historic data is preserved. Guest checkout would just be a matter of dis-associating customers from users, which is probably a good idea.
from sylius.
I went down the route of creating guest customer's on the fly. I keep their data in the user and address tables.
I've seen a few of the bigger online stores implement a register-later process via email token for guest users. The reason I like this is that you can let them select from an existing address (or create a new one) once they've registered because these relationships are already set up.
@torinaki you are right that is important to keep correct order history (you can still do this) but by not creating users on the fly it can affect the user's checkout experience when they have to re-enter their address instead of selecting a previous one. It is also good for customer management as it makes it easy to see all their orders, even if they're not a verified user.
from sylius.
In fact in the order's billing address it has all the info about the customer. I think we can just disassociating User from Order.
from sylius.
@kayue Good point. I guess email address would be important though.
from sylius.
I have created a quick prototype of guest checkout:
https://github.com/torinaki/Sylius/compare/GH90-Implementing-guest-checkout
The main idea was to add email information into Order entity and create possibility to skip Security step in checkout process.
from sylius.
@pjedrzejewski @Arn0d This can be finally closed!!! =)
from sylius.
Closed by #1816
from sylius.
Related Issues (20)
- Varnish invalidation is incomplete HOT 1
- [Shop] Cart page breaks styling on invalid coupon submit HOT 1
- Add default repository classes
- [Potential Issue] update cart lead to order id appears in url HOT 3
- [Issue] Too many database calls during warmup cache
- DefaultProductVariantResolver is not getting the first positioned variant
- Flash messages can't be added from Ajax requests HOT 1
- Unable to apply promotions
- How do you make an existing Sylius resource translatable?
- Console error with symfony 6.4 HOT 5
- Addresses created with shop endpoint do not bind customer HOT 4
- Localized datetime depending of browser or logged in admin HOT 2
- Cannot apply multiple taxes on a product HOT 8
- [ADMIN][UI] Administrator form display issue HOT 2
- Bug with docker, chmod required for public directory
- Add a new rule to promotion HOT 2
- Base_currency_id cannot be null when creating a new channel
- On product attribuites of type select the apply to all button doesn't select the correct options
- SyliusCoreBundle 1.13 depends on non-existing package HOT 7
- Apply catalog promotions only to enabled products/variants HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sylius.