Different checkout processes depending on senario. (whishlist)
Could you please advice if and how the following would be feasible:
I would like to have two different checkout processes ( impact on checkout pane & delivery address ) depending on from which page a given product was added to the cart.
A use case could be a whishlist. I can order a product from the usual store or from the whish list of a friend that is available on the store. In the second case, I could write my friend a message during checkout ( extra checkout pane) and would be allowed to make deliver the gift right to his delivery address.
I have thought about the following
Create a list (view) of products with specific "add to cart" buttons that have been modified (using hook_cart_add_to_cart_form_alter?) to pass an extra variable to the shopping cart. This variable would be use to say if the product was added from page X (store) or from page Y (whishlist).
Could you tell me how I could test this extra value during the checkout ? If the value is X , I would like to add an extra field in a checkoutpane and allow one extra shipping method.
I should be able to do that , my question is more how I could bind the shopping cart to a "context" - comping from page x or from page y ... and implement the rules....
Rely on URL ?
The only solution that I found up to now to address this issue is to use rules with a condition to check if a particular string is contained in the url... but this is not very handy.
Would appreciate other approaches/ideas...
It could also rely on the presence of a specific product in the cart ? Then, how to add it automatically as hidden product? Altering the add to cart button on wishlists and change its url to add it together with every product of a wishlist?