Roarke80 Posted October 25, 2009 Share Posted October 25, 2009 Hi, I have searched all related posts in this forum and tried all the code changes proposed, but can't find a successful solution. I want to sell a virtual product WITHOUT using the virtual product option because the product takes a few days to prepare before the customer can download it. I have set up a universal carrier for online download and that works fine. However I want to skip the Address step in checkout since there is no need for billing or shipping address. All the code offered on this forum result in either a 'There is no valid carrier' error, or doesn't work when the customer clicks on 'Cart' and logs in instead of checking out straightaway.I am using 1.2.4.Please can someone help? Thanks in advance. Link to comment Share on other sites More sharing options...
fs_xyz Posted October 26, 2009 Share Posted October 26, 2009 At your root directory file order.php.At line 85, you'll see script written with switch blahblahblah.Below it there is case 1 : displayAddress().Block that line with // and write another line to be like this case 1: displayPayment(); //displayAddress(); break; This will make user go straight to payment choice.At order-steps.tpl, inside your themes directory, line 22, add <!-- and end with --> at line 39 <!-- {if $current_step=='payment' || $current_step=='shipping'} {l s='Address'} {else} {l s='Address'} {/if} --> <!-- {if $current_step=='payment'} {l s='Shipping'} {else} {l s='Shipping'} {/if} --> Now other steps are disabled.Lastly, order-payment.tpl also inside your themes directory.Go to line 24, check this line :{$base_dir_ssl}order.php?step=2Change 2 to 0, this will make back button at payment choose screen revert to the cart list. This probably work very good if you only have 1 carrier as set up... dunno with multiple carrier tough, since skipping carrier choice will automatically choose your default carrier.On you problem for shipping problem :Admin shipping tab --> countries, zones, carriers : Make sure a customer country available for the carrier.Admin shipping tab --> price ranges : Make sure the max number price range is high enough. ( I think it is limited to 10,000,000 )Admin shipping tab --> re-save both top handling and fees table. ( yes, re-save those.... )Hope it help... 1 Link to comment Share on other sites More sharing options...
Roarke80 Posted October 26, 2009 Author Share Posted October 26, 2009 Thanks for your reply and code!It works great when the user is logged in BEFORE adding anything to the shopping cart. However, if I add items to my cart before logging in, after I log in during the checkout the error message is displayed 'There is no payment module installed.'Any ideas? Thanks so much for your help Link to comment Share on other sites More sharing options...
fs_xyz Posted October 27, 2009 Share Posted October 27, 2009 Yes, you're correct in this one, I always assume that user should log in 1st before start clicking... I'll try to look again. Link to comment Share on other sites More sharing options...
Roarke80 Posted October 27, 2009 Author Share Posted October 27, 2009 Thanks for your help. My carrier works as it should, and I even tried installing your code and then saving my carrier again in the back office, but I still get the 'No payment modules installed' error. Is there no workaround for this? Thanks Link to comment Share on other sites More sharing options...
fs_xyz Posted November 1, 2009 Share Posted November 1, 2009 No luck in trying. Seem like I cannot get this working if the customer haven't log in yet.If only login part initiated before displaying summary..... that might work. But I don't know how to make it work. Link to comment Share on other sites More sharing options...
Roarke80 Posted November 1, 2009 Author Share Posted November 1, 2009 Oh well, thanks so much for trying anyway! Link to comment Share on other sites More sharing options...
punnned Posted November 12, 2009 Share Posted November 12, 2009 any updates on this? anyone worked out how to get it working if customer adds items before logging in? Link to comment Share on other sites More sharing options...
mwaqas Posted November 16, 2009 Share Posted November 16, 2009 please help!!!!!!!!virtual products ....................on address options are required and shipping ......on order page is not required..please help! Link to comment Share on other sites More sharing options...
Ronaldand Posted November 17, 2009 Share Posted November 17, 2009 HiI also would like a way to resolve this issue .I have had a couple of emails telling me they won't buy because of address issue , the checkout is too long and not good for downloadables Thanks to fs_xyz for trying . Link to comment Share on other sites More sharing options...
mwaqas Posted November 17, 2009 Share Posted November 17, 2009 prestahop team please help us!!!!!!!!!!!!!!!!!!!! Link to comment Share on other sites More sharing options...
ladivito Posted November 17, 2009 Share Posted November 17, 2009 maybe next version the admin site able to add in another setting to let us set the steps Link to comment Share on other sites More sharing options...
Juandbbam Posted December 2, 2009 Share Posted December 2, 2009 There is still no solution at this please? I'm selling just key codes so I'd need to remove all the shipping step.Thank you in advance for any help Link to comment Share on other sites More sharing options...
Eugene Posted December 14, 2009 Share Posted December 14, 2009 I've found a way to make it work when user added something to cart and then log in.The thing is that on Payment step there is a query that checks if payment is enabled for particular country (at least this work this way for 2checkout payment module). Since you have removed displayAddress(); in step 1 - customer's country won't be set in $cart object. And you will see error 'no payment module is installed'.What I did is set an invoice address in $cart manually on step 1 before displayPayment(). So now step 1 looks like this: case 1: $customer = new Customer(intval($cookie->id_customer)); if (Validate::isLoadedObject($customer)){ // Getting customer addresses $customerAddresses = $customer->getAddresses(intval($cookie->id_lang)); // Setting default addresses for cart if ((!isset($cart->id_address_invoice) OR empty($cart->id_address_invoice)) AND sizeof($customerAddresses)){ $cart->id_address_invoice = intval($customerAddresses[0]['id_address']); $update = 1; } // Update cart addresses only if needed if (isset($update) AND $update) $cart->update(); } //displayAddress(); displayPayment(); break; I have a downloadable products, so I have set only invoice address. If you need to deliver your products you need to get and set a delivery address in $cart as well. Hope that will help.Thanks, Eugene Link to comment Share on other sites More sharing options...
Rman Posted April 4, 2010 Share Posted April 4, 2010 This works very well, but, I have a new problem: I have free products and payment step is not activated automatically download (as before the code changes). Appears the paypal payment. Any idea? Link to comment Share on other sites More sharing options...
Daniel Halpern Posted April 25, 2010 Share Posted April 25, 2010 For me it works very good!As my clients can't see the prices until they log-in, this solution is perfect!Thanks! Link to comment Share on other sites More sharing options...
shahriar Posted June 5, 2010 Share Posted June 5, 2010 At your root directory file order.php.At line 85, you'll see script written with switch blahblahblah.Below it there is case 1 : displayAddress().Block that line with // and write another line to be like this case 1: displayPayment(); //displayAddress(); break; This will make user go straight to payment choice.At order-steps.tpl, inside your themes directory, line 22, add <!-- and end with --> at line 39 <!-- {if $current_step=='payment' || $current_step=='shipping'} {l s='Address'} {else} {l s='Address'} {/if} --> <!-- {if $current_step=='payment'} {l s='Shipping'} {else} {l s='Shipping'} {/if} --> Now other steps are disabled.Lastly, order-payment.tpl also inside your themes directory.Go to line 24, check this line :{$base_dir_ssl}order.php?step=2Change 2 to 0, this will make back button at payment choose screen revert to the cart list. This probably work very good if you only have 1 carrier as set up... dunno with multiple carrier tough, since skipping carrier choice will automatically choose your default carrier.On you problem for shipping problem :Admin shipping tab --> countries, zones, carriers : Make sure a customer country available for the carrier.Admin shipping tab --> price ranges : Make sure the max number price range is high enough. ( I think it is limited to 10,000,000 )Admin shipping tab --> re-save both top handling and fees table. ( yes, re-save those.... )Hope it help... tnx alot , it's working well Link to comment Share on other sites More sharing options...
DeltADeltA Posted August 30, 2010 Share Posted August 30, 2010 I couldn't get this to work unless i also added these lines for setting the delivery-address. It would trigger a 'hack attempt' somewhere else. if ((!isset($cart->id_address_invoice) OR empty($cart->id_address_invoice)) AND sizeof($customerAddresses)) { $cart->id_address_invoice = intval($customerAddresses[0]['id_address']); $update = 1; } // Add these lines below for setting the delivery address if ((!isset($cart->id_address_delivery) OR empty($cart->id_address_delivery)) AND sizeof($customerAddresses)) { $cart->id_address_delivery = intval($customerAddresses[0]['id_address']); $update = 1; } Cheers for the initial code! Link to comment Share on other sites More sharing options...
www.PernakPernikOnline.com Posted November 25, 2010 Share Posted November 25, 2010 i try Link to comment Share on other sites More sharing options...
duwur Posted December 7, 2010 Share Posted December 7, 2010 I tri Link to comment Share on other sites More sharing options...
jordiob Posted December 15, 2010 Share Posted December 15, 2010 I've found a way to make it work when user added something to cart and then log in.The thing is that on Payment step there is a query that checks if payment is enabled for particular country (at least this work this way for 2checkout payment module). Since you have removeddisplayAddress(); in step 1 - customer's country won't be set in $cart object. And you will see error 'no payment module is installed'.What I did is set an invoice address in $cart manually on step 1 before displayPayment(). So now step 1 looks like this: case 1: $customer = new Customer(intval($cookie->id_customer)); if (Validate::isLoadedObject($customer)){ // Getting customer addresses $customerAddresses = $customer->getAddresses(intval($cookie->id_lang)); // Setting default addresses for cart if ((!isset($cart->id_address_invoice) OR empty($cart->id_address_invoice)) AND sizeof($customerAddresses)){ $cart->id_address_invoice = intval($customerAddresses[0]['id_address']); $update = 1; } // Update cart addresses only if needed if (isset($update) AND $update) $cart->update(); } //displayAddress(); displayPayment(); break; I have a downloadable products, so I have set only invoice address. If you need to deliver your products you need to get and set a delivery address in $cart as well. Hope that will help.Thanks, Eugene Been stuck with this for the last 3 hours. Eugene, you saved my life. Thanks a lot! Link to comment Share on other sites More sharing options...
lhbrito Posted November 10, 2011 Share Posted November 10, 2011 For the version 1.4.5.1 file order.php is different. How do? is it possible? Thanks Link to comment Share on other sites More sharing options...
amit.oms Posted April 14, 2012 Share Posted April 14, 2012 Hi shahriar , The above given code is only cut off for progress bar i.e top of the shopping cart but it will not work , i think something missing . Link to comment Share on other sites More sharing options...
sopyan Posted December 8, 2012 Share Posted December 8, 2012 I using 1.5.2 how to remove shipping from step ? Link to comment Share on other sites More sharing options...
GoksaP Posted December 13, 2012 Share Posted December 13, 2012 I also want to know how remove this. Link to comment Share on other sites More sharing options...
xasmirx Posted February 23, 2013 Share Posted February 23, 2013 Great hack for this problem, http://hackphp.wordpress.com/. It is a hack for 1.5 prestashop, it will skip the shipping and address thing. There is full explanation Link to comment Share on other sites More sharing options...
AshZS Posted February 28, 2013 Share Posted February 28, 2013 Hi. I have tried your code on Prestashop 1.5.3.1 but get white screen when starting the checkout process. Has any code been lost in pasting to WordPress? Maybe you could post a download for a .txt file? Link to comment Share on other sites More sharing options...
triwulandari Posted July 3, 2013 Share Posted July 3, 2013 I found the file (order.php) but the script is not like u say. this what my file (order.php) contains: <?php /* * 2007-2013 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Open Software License (OSL 3.0) * that is bundled with this package in the file LICENSE.txt. * It is also available through the world-wide-web at this URL: * http://opensource.org/licenses/osl-3.0.php * If you did not receive a copy of the license and are unable to * obtain it through the world-wide-web, please send an email * to [email protected] so we can send you a copy immediately. * * DISCLAIMER * * Do not edit or add to this file if you wish to upgrade PrestaShop to newer * versions in the future. If you wish to customize PrestaShop for your * needs please refer to http://www.prestashop.com for more information. * * @author PrestaShop SA <[email protected]> * @copyright 2007-2013 PrestaShop SA * @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) * International Registered Trademark & Property of PrestaShop SA */ /** * This file will be removed in 1.6 * You have to use index.php?controller=page_name instead of this page * * @deprecated 1.5.0 */ require(dirname(__FILE__).'/config/config.inc.php'); Tools::displayFileAsDeprecated(); Tools::redirect('index.php?controller=order'.($_REQUEST ? '&'.http_build_query($_REQUEST, '', '&') : ''), __PS_BASE_URI__, null, 'HTTP/1.1 301 Moved Permanently'); Link to comment Share on other sites More sharing options...
migsyboy Posted October 19, 2013 Share Posted October 19, 2013 It is absolutely shocking that the PS developers haven't fixed this problem, when there were people back in 2010 complaining about this!! So PS developers, what year you think you will think about fixing virtual carts, so if there are only virtual products the checkout funnel does not include the shipping step???? Link to comment Share on other sites More sharing options...
pdrive Posted October 20, 2013 Share Posted October 20, 2013 agree.. its kinda pathetic you cant remove addresses altogether.. if i cant hack it soon im gonna try other software Link to comment Share on other sites More sharing options...
SmartDataSoft Posted October 22, 2013 Share Posted October 22, 2013 Great hack for this problem, http://hackphp.wordpress.com/. It is a hack for 1.5 prestashop, it will skip the shipping and address thing. There is full explanation this is not working, i have tried Link to comment Share on other sites More sharing options...
enovo Posted July 22, 2014 Share Posted July 22, 2014 https://github.com/estebannovo/prestashop-drop-address-steps 1 Link to comment Share on other sites More sharing options...
SmartDataSoft Posted July 22, 2014 Share Posted July 22, 2014 @enovo Are you confirm that it work. Did you have any demo to see. Link to comment Share on other sites More sharing options...
ReinaTBQ Posted August 15, 2014 Share Posted August 15, 2014 Is this owrking for the latest version of ps??https://github.com/e...p-address-steps Im selling downloadable goods. Link to comment Share on other sites More sharing options...
jjryeste Posted October 15, 2014 Share Posted October 15, 2014 Please and for prestashop 1.6 Thank you Link to comment Share on other sites More sharing options...
KiaAzad Posted June 10, 2015 Share Posted June 10, 2015 https://www.prestashop.com/forums/topic/446524-prestashop-isnt-good-for-downloadable-goods-cant-modify-or-remove-address/ Link to comment Share on other sites More sharing options...
DreamquestMultimedia Posted September 9, 2015 Share Posted September 9, 2015 How do you do the same in PrestaShop 1.6? To the PrestaShop team really guys what have you been working on? This thread has been on for 6 years now. By now I expect this to be a simple switch. Link to comment Share on other sites More sharing options...
KiaAzad Posted September 9, 2015 Share Posted September 9, 2015 looks like prestashop development has stopped years ago, anybody know any good replacement? Link to comment Share on other sites More sharing options...
rezaruslan94 Posted June 19, 2016 Share Posted June 19, 2016 How to remove login step in CheckoutThanks before Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now