Ryan_Glass Posted August 5, 2013 Share Posted August 5, 2013 Hi, When customers login I'd like to redirect them to the last page that they visited rather than their My Account page. I think that this will be done by replacing some code in the AuthController.php file (I have seen the issue solved for Prestashop 1.4 using this.) but which code do I replace and with what in version 1.5. Thanks for your help. Link to comment Share on other sites More sharing options...
Ryan_Glass Posted August 6, 2013 Author Share Posted August 6, 2013 Anyone? Link to comment Share on other sites More sharing options...
vekia Posted August 6, 2013 Share Posted August 6, 2013 in this case you have to open autentication page with additional param: &back=URL_TO_THE_WEBSITE then add this param to the <form action=""> param Link to comment Share on other sites More sharing options...
Ryan_Glass Posted August 6, 2013 Author Share Posted August 6, 2013 Thanks for the info, So is this the code that I add the parameter to: if (!Tools::getIsset('step') && $this->context->customer->isLogged() && !$this->ajax) Tools::redirect('index.php?controller='.(($this->authRedirection !== false) ? url_encode($this->authRedirection) : 'my-account')); if (Tools::getValue('create_account')) $this->create_account = true; and this is the code that I add: &back=URL_TO THE_WEBSITE where exactly would I put the code? Sorry for my ignorance - this is pushing my skills! Link to comment Share on other sites More sharing options...
Ryan_Glass Posted August 8, 2013 Author Share Posted August 8, 2013 Hi again, I'd be very grateful for some help with this - I'm not really sure what an aditional parameter is or how to add it to the <form action=""> Many thanks! Link to comment Share on other sites More sharing options...
vekia Posted August 8, 2013 Share Posted August 8, 2013 can you show the authentication.tpl file ? it is located in your theme directory (themes/your_theme) Link to comment Share on other sites More sharing options...
Ryan_Glass Posted August 8, 2013 Author Share Posted August 8, 2013 OK - here is the code from the authentication.tpl file: {* * 2007-2013 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Academic Free License (AFL 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/afl-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/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA *} {capture name=path}{l s='Login'}{/capture} {include file="$tpl_dir./breadcrumb.tpl"} <script type="text/javascript"> // <![CDATA[ var idSelectedCountry = {if isset($smarty.post.id_state)}{$smarty.post.id_state|intval}{else}false{/if}; var countries = new Array(); var countriesNeedIDNumber = new Array(); var countriesNeedZipCode = new Array(); {if isset($countries)} {foreach from=$countries item='country'} {if isset($country.states) && $country.contains_states} countries[{$country.id_country|intval}] = new Array(); {foreach from=$country.states item='state' name='states'} countries[{$country.id_country|intval}].push({ldelim}'id' : '{$state.id_state|intval}', 'name' : '{$state.name|addslashes}'{rdelim}); {/foreach} {/if} {if $country.need_identification_number} countriesNeedIDNumber.push({$country.id_country|intval}); {/if} {if isset($country.need_zip_code)} countriesNeedZipCode[{$country.id_country|intval}] = {$country.need_zip_code}; {/if} {/foreach} {/if} $(function(){ldelim} $('.id_state option[value={if isset($smarty.post.id_state)}{$smarty.post.id_state|intval}{else}{if isset($address)}{$address->id_state|intval}{/if}{/if}]').attr('selected', true); {rdelim}); //]]> {literal} $(document).ready(function() { $('#company').blur(function(){ vat_number(); }); vat_number(); function vat_number() { if ($('#company').val() != '') $('#vat_number').show(); else $('#vat_number').hide(); } }); {/literal} </script> <h1>{if !isset($email_create)}{l s='Log in'}{else}{l s='Create an account'}{/if}</h1> {if !isset($back) || $back != 'my-account'}{assign var='current_step' value='login'}{include file="$tpl_dir./order-steps.tpl"}{/if} {include file="$tpl_dir./errors.tpl"} {assign var='stateExist' value=false} {if !isset($email_create)} <script type="text/javascript"> {literal} $(document).ready(function(){ // Retrocompatibility with 1.4 if (typeof baseUri === "undefined" && typeof baseDir !== "undefined") baseUri = baseDir; $('#create-account_form').submit(function(){ submitFunction(); return false; }); }); function submitFunction() { $('#create_account_error').html('').hide(); //send the ajax request to the server $.ajax({ type: 'POST', url: baseUri, async: true, cache: false, dataType : "json", data: { controller: 'authentication', SubmitCreate: 1, ajax: true, email_create: $('#email_create').val(), back: $('input[name=back]').val(), token: token }, success: function(jsonData) { if (jsonData.hasError) { var errors = ''; for(error in jsonData.errors) //IE6 bug fix if(error != 'indexOf') errors += '<li>'+jsonData.errors[error]+'</li>'; $('#create_account_error').html('<ol>'+errors+'</ol>').show(); } else { // adding a div to display a transition $('#center_column').html('<div id="noSlide">'+$('#center_column').html()+'</div>'); $('#noSlide').fadeOut('slow', function(){ $('#noSlide').html(jsonData.page); // update the state (when this file is called from AJAX you still need to update the state) bindStateInputAndUpdate(); $(this).fadeIn('slow', function(){ document.location = '#account-creation'; }); }); } }, error: function(XMLHttpRequest, textStatus, errorThrown) { alert("TECHNICAL ERROR: unable to load form.\n\nDetails:\nError thrown: " + XMLHttpRequest + "\n" + 'Text status: ' + textStatus); } }); } {/literal} </script> <!--{if isset($authentification_error)} <div class="error"> {if {$authentification_error|@count} == 1} <p>{l s='There\'s at least one error'} :</p> {else} <p>{l s='There are %s errors' sprintf=[$account_error|@count]} :</p> {/if} <ol> {foreach from=$authentification_error item=v} <li>{$v}</li> {/foreach} </ol> </div> {/if}--> <form action="{$link->getPageLink('authentication', true)}" method="post" id="create-account_form" class="std"> <fieldset> <h3>{l s='Create an account'}</h3> <div class="form_content clearfix"> <p class="title_block">{l s='Please enter your email address to create an account.'}.</p> <div class="error" id="create_account_error" style="display:none"></div> <p class="text"> <label for="email_create">{l s='Email address'}</label> <span><input type="text" id="email_create" name="email_create" value="{if isset($smarty.post.email_create)}{$smarty.post.email_create|stripslashes}{/if}" class="account_input" /></span> </p> <p class="submit"> {if isset($back)}<input type="hidden" class="hidden" name="back" value="{$back|escape:'htmlall':'UTF-8'}" />{/if} <input type="submit" id="SubmitCreate" name="SubmitCreate" class="button_large" value="{l s='Create an account'}" /> <input type="hidden" class="hidden" name="SubmitCreate" value="{l s='Create an account'}" /> </p> </div> </fieldset> </form> <form action="{$link->getPageLink('authentication', true)}" method="post" id="login_form" class="std"> <fieldset> <h3>{l s='Already registered?'}</h3> <div class="form_content clearfix"> <p class="text"> <label for="email">{l s='Email address'}</label> <span><input type="text" id="email" name="email" value="{if isset($smarty.post.email)}{$smarty.post.email|stripslashes}{/if}" class="account_input" /></span> </p> <p class="text"> <label for="passwd">{l s='Password'}</label> <span><input type="password" id="passwd" name="passwd" value="{if isset($smarty.post.passwd)}{$smarty.post.passwd|stripslashes}{/if}" class="account_input" /></span> </p> <p class="lost_password"><a href="{$link->getPageLink('password')}">{l s='Forgot your password?'}</a></p> <p class="submit"> {if isset($back)}<input type="hidden" class="hidden" name="back" value="{$back|escape:'htmlall':'UTF-8'}" />{/if} <input type="submit" id="SubmitLogin" name="SubmitLogin" class="button" value="{l s='Log in'}" /> </p> </div> </fieldset> </form> {if isset($inOrderProcess) && $inOrderProcess && $PS_GUEST_CHECKOUT_ENABLED} <form action="{$link->getPageLink('authentication', true, NULL, "back=$back")}" method="post" id="new_account_form" class="std clearfix"> <fieldset> <h3>{l s='Instant checkout'}</h3> <div id="opc_account_form" style="display: block; "> <!-- Account --> <p class="required text"> <label for="guest_email">{l s='Email address'} <sup>*</sup></label> <input type="text" class="text" id="guest_email" name="guest_email" value="{if isset($smarty.post.guest_email)}{$smarty.post.guest_email}{/if}" /> </p> <p class="radio required"> <span>{l s='Title'}</span> {foreach from=$genders key=k item=gender} <input type="radio" name="id_gender" id="id_gender{$gender->id}" value="{$gender->id}"{if isset($smarty.post.id_gender) && $smarty.post.id_gender == $gender->id} checked="checked"{/if} /> <label for="id_gender{$gender->id}" class="top">{$gender->name}</label> {/foreach} </p> <p class="required text"> <label for="firstname">{l s='First name'} <sup>*</sup></label> <input type="text" class="text" id="firstname" name="firstname" onblur="$('#customer_firstname').val($(this).val());" value="{if isset($smarty.post.firstname)}{$smarty.post.firstname}{/if}" /> <input type="hidden" class="text" id="customer_firstname" name="customer_firstname" value="{if isset($smarty.post.firstname)}{$smarty.post.firstname}{/if}" /> </p> <p class="required text"> <label for="lastname">{l s='Last name'} <sup>*</sup></label> <input type="text" class="text" id="lastname" name="lastname" onblur="$('#customer_lastname').val($(this).val());" value="{if isset($smarty.post.lastname)}{$smarty.post.lastname}{/if}" /> <input type="hidden" class="text" id="customer_lastname" name="customer_lastname" value="{if isset($smarty.post.lastname)}{$smarty.post.lastname}{/if}" /> </p> <p class="select"> <span>{l s='Date of Birth'}</span> <select id="days" name="days"> <option value="">-</option> {foreach from=$days item=day} <option value="{$day}" {if ($sl_day == $day)} selected="selected"{/if}>{$day} </option> {/foreach} </select> {* {l s='January'} {l s='February'} {l s='March'} {l s='April'} {l s='May'} {l s='June'} {l s='July'} {l s='August'} {l s='September'} {l s='October'} {l s='November'} {l s='December'} *} <select id="months" name="months"> <option value="">-</option> {foreach from=$months key=k item=month} <option value="{$k}" {if ($sl_month == $k)} selected="selected"{/if}>{l s=$month} </option> {/foreach} </select> <select id="years" name="years"> <option value="">-</option> {foreach from=$years item=year} <option value="{$year}" {if ($sl_year == $year)} selected="selected"{/if}>{$year} </option> {/foreach} </select> </p> {if isset($newsletter) && $newsletter} <p class="checkbox"> <input type="checkbox" name="newsletter" id="newsletter" value="1" {if isset($smarty.post.newsletter) && $smarty.post.newsletter == '1'}checked="checked"{/if} /> <label for="newsletter">{l s='Sign up for our newsletter!'}</label> </p> <p class="checkbox"> <input type="checkbox" name="optin" id="optin" value="1" {if isset($smarty.post.optin) && $smarty.post.optin == '1'}checked="checked"{/if} /> <label for="optin">{l s='Receive special offers from our partners!'}</label> </p> {/if} <h3>{l s='Delivery address'}</h3> {foreach from=$dlv_all_fields item=field_name} {if $field_name eq "company"} <p class="text"> <label for="company">{l s='Company'}</label> <input type="text" class="text" id="company" name="company" value="{if isset($smarty.post.company)}{$smarty.post.company}{/if}" /> </p> {elseif $field_name eq "vat_number"} <div id="vat_number" style="display:none;"> <p class="text"> <label for="vat_number">{l s='VAT number'}</label> <input type="text" class="text" name="vat_number" value="{if isset($smarty.post.vat_number)}{$smarty.post.vat_number}{/if}" /> </p> </div> {elseif $field_name eq "address1"} <p class="required text"> <label for="address1">{l s='Address'} <sup>*</sup></label> <input type="text" class="text" name="address1" id="address1" value="{if isset($smarty.post.address1)}{$smarty.post.address1}{/if}" /> </p> {elseif $field_name eq "postcode"} <p class="required postcode text"> <label for="postcode">{l s='Zip / Postal Code'} <sup>*</sup></label> <input type="text" class="text" name="postcode" id="postcode" value="{if isset($smarty.post.postcode)}{$smarty.post.postcode}{/if}" onblur="$('#postcode').val($('#postcode').val().toUpperCase());" /> </p> {elseif $field_name eq "city"} <p class="required text"> <label for="city">{l s='City'} <sup>*</sup></label> <input type="text" class="text" name="city" id="city" value="{if isset($smarty.post.city)}{$smarty.post.city}{/if}" /> </p> <!-- if customer hasn't update his layout address, country has to be verified but it's deprecated --> {elseif $field_name eq "Country:name" || $field_name eq "country"} <p class="required select"> <label for="id_country">{l s='Country'} <sup>*</sup></label> <select name="id_country" id="id_country"> <option value="">-</option> {foreach from=$countries item=v} <option value="{$v.id_country}" {if ($sl_country == $v.id_country)} selected="selected"{/if}>{$v.name}</option> {/foreach} </select> </p> {elseif $field_name eq "State:name"} {assign var='stateExist' value=true} <p class="required id_state select"> <label for="id_state">{l s='State'} <sup>*</sup></label> <select name="id_state" id="id_state"> <option value="">-</option> </select> </p> {elseif $field_name eq "phone"} <p class="{if isset($one_phone_at_least) && $one_phone_at_least}required {/if}text"> <label for="phone">{l s='Phone'}{if isset($one_phone_at_least) && $one_phone_at_least} <sup>*</sup>{/if}</label> <input type="text" class="text" name="phone" id="phone" value="{if isset($smarty.post.phone)}{$smarty.post.phone}{/if}"/> </p> {/if} {/foreach} {if $stateExist eq false} <p class="required id_state select"> <label for="id_state">{l s='State'} <sup>*</sup></label> <select name="id_state" id="id_state"> <option value="">-</option> </select> </p> {/if} <input type="hidden" name="alias" id="alias" value="{l s='My address'}" /> <input type="hidden" name="is_new_customer" id="is_new_customer" value="0" /> <!-- END Account --> </div> </fieldset> <fieldset class="account_creation dni"> <h3>{l s='Tax identification'}</h3> <p class="required text"> <label for="dni">{l s='Identification number'}</label> <input type="text" class="text" name="dni" id="dni" value="{if isset($smarty.post.dni)}{$smarty.post.dni}{/if}" /> <span class="form_info">{l s='DNI / NIF / NIE'}</span> </p> </fieldset> {$HOOK_CREATE_ACCOUNT_FORM} <p class="cart_navigation required submit"> <span><sup>*</sup>{l s='Required field'}</span> <input type="hidden" name="display_guest_checkout" value="1" /> <input type="submit" class="exclusive" name="submitGuestAccount" id="submitGuestAccount" value="{l s='Continue'}" /> </p> </form> {/if} {else} <!--{if isset($account_error)} <div class="error"> {if {$account_error|@count} == 1} <p>{l s='There\'s at least one error'} :</p> {else} <p>{l s='There are %s errors' sprintf=[$account_error|@count]} :</p> {/if} <ol> {foreach from=$account_error item=v} <li>{$v}</li> {/foreach} </ol> </div> {/if}--> <form action="{$link->getPageLink('authentication', true)}" method="post" id="account-creation_form" class="std"> {$HOOK_CREATE_ACCOUNT_TOP} <fieldset class="account_creation"> <h3>{l s='Your personal information'}</h3> <p class="radio required"> <span>{l s='Title'}</span> {foreach from=$genders key=k item=gender} <input type="radio" name="id_gender" id="id_gender{$gender->id}" value="{$gender->id}" {if isset($smarty.post.id_gender) && $smarty.post.id_gender == $gender->id}checked="checked"{/if} /> <label for="id_gender{$gender->id}" class="top">{$gender->name}</label> {/foreach} </p> <p class="required text"> <label for="customer_firstname">{l s='First name'} <sup>*</sup></label> <input onkeyup="$('#firstname').val(this.value);" type="text" class="text" id="customer_firstname" name="customer_firstname" value="{if isset($smarty.post.customer_firstname)}{$smarty.post.customer_firstname}{/if}" /> </p> <p class="required text"> <label for="customer_lastname">{l s='Last name'} <sup>*</sup></label> <input onkeyup="$('#lastname').val(this.value);" type="text" class="text" id="customer_lastname" name="customer_lastname" value="{if isset($smarty.post.customer_lastname)}{$smarty.post.customer_lastname}{/if}" /> </p> <p class="required text"> <label for="email">{l s='Email'} <sup>*</sup></label> <input type="text" class="text" id="email" name="email" value="{if isset($smarty.post.email)}{$smarty.post.email}{/if}" /> </p> <p class="required password"> <label for="passwd">{l s='Password'} <sup>*</sup></label> <input type="password" class="text" name="passwd" id="passwd" /> <span class="form_info">{l s='(Five characters minimum)'}</span> </p> <p class="select"> <span>{l s='Date of Birth'}</span> <select id="days" name="days"> <option value="">-</option> {foreach from=$days item=day} <option value="{$day}" {if ($sl_day == $day)} selected="selected"{/if}>{$day} </option> {/foreach} </select> {* {l s='January'} {l s='February'} {l s='March'} {l s='April'} {l s='May'} {l s='June'} {l s='July'} {l s='August'} {l s='September'} {l s='October'} {l s='November'} {l s='December'} *} <select id="months" name="months"> <option value="">-</option> {foreach from=$months key=k item=month} <option value="{$k}" {if ($sl_month == $k)} selected="selected"{/if}>{l s=$month} </option> {/foreach} </select> <select id="years" name="years"> <option value="">-</option> {foreach from=$years item=year} <option value="{$year}" {if ($sl_year == $year)} selected="selected"{/if}>{$year} </option> {/foreach} </select> </p> {if $newsletter} <p class="checkbox" > <input type="checkbox" name="newsletter" id="newsletter" value="1" {if isset($smarty.post.newsletter) AND $smarty.post.newsletter == 1} checked="checked"{/if} /> <label for="newsletter">{l s='Sign up for our newsletter!'}</label> </p> <p class="checkbox" > <input type="checkbox"name="optin" id="optin" value="1" {if isset($smarty.post.optin) AND $smarty.post.optin == 1} checked="checked"{/if} /> <label for="optin">{l s='Receive special offers from our partners!'}</label> </p> {/if} </fieldset> {if $b2b_enable} <fieldset class="account_creation"> <h3>{l s='Your company information'}</h3> <p class="text"> <label for="">{l s='Company'}</label> <input type="text" class="text" id="company" name="company" value="{if isset($smarty.post.company)}{$smarty.post.company}{/if}" /> </p> <p class="text"> <label for="siret">{l s='SIRET'}</label> <input type="text" class="text" id="siret" name="siret" value="{if isset($smarty.post.siret)}{$smarty.post.siret}{/if}" /> </p> <p class="text"> <label for="ape">{l s='APE'}</label> <input type="text" class="text" id="ape" name="ape" value="{if isset($smarty.post.ape)}{$smarty.post.ape}{/if}" /> </p> <p class="text"> <label for="website">{l s='Website'}</label> <input type="text" class="text" id="website" name="website" value="{if isset($smarty.post.website)}{$smarty.post.website}{/if}" /> </p> </fieldset> {/if} {if isset($PS_REGISTRATION_PROCESS_TYPE) && $PS_REGISTRATION_PROCESS_TYPE} <fieldset class="account_creation"> <h3>{l s='Your address'}</h3> {foreach from=$dlv_all_fields item=field_name} {if $field_name eq "company"} <p class="text"> <label for="company">{l s='Company'}</label> <input type="text" class="text" id="company" name="company" value="{if isset($smarty.post.company)}{$smarty.post.company}{/if}" /> </p> {elseif $field_name eq "vat_number"} <div id="vat_number" style="display:none;"> <p class="text"> <label for="vat_number">{l s='VAT number'}</label> <input type="text" class="text" name="vat_number" value="{if isset($smarty.post.vat_number)}{$smarty.post.vat_number}{/if}" /> </p> </div> {elseif $field_name eq "firstname"} <p class="required text"> <label for="firstname">{l s='First name'} <sup>*</sup></label> <input type="text" class="text" id="firstname" name="firstname" value="{if isset($smarty.post.firstname)}{$smarty.post.firstname}{/if}" /> </p> {elseif $field_name eq "lastname"} <p class="required text"> <label for="lastname">{l s='Last name'} <sup>*</sup></label> <input type="text" class="text" id="lastname" name="lastname" value="{if isset($smarty.post.lastname)}{$smarty.post.lastname}{/if}" /> </p> {elseif $field_name eq "address1"} <p class="required text"> <label for="address1">{l s='Address'} <sup>*</sup></label> <input type="text" class="text" name="address1" id="address1" value="{if isset($smarty.post.address1)}{$smarty.post.address1}{/if}" /> <span class="inline-infos">{l s='Street address, P.O. Box, Company name, etc.'}</span> </p> {elseif $field_name eq "address2"} <p class="text"> <label for="address2">{l s='Address (Line 2)'}</label> <input type="text" class="text" name="address2" id="address2" value="{if isset($smarty.post.address2)}{$smarty.post.address2}{/if}" /> <span class="inline-infos">{l s='Apartment, suite, unit, building, floor, etc...'}</span> </p> {elseif $field_name eq "postcode"} <p class="required postcode text"> <label for="postcode">{l s='Zip / Postal Code'} <sup>*</sup></label> <input type="text" class="text" name="postcode" id="postcode" value="{if isset($smarty.post.postcode)}{$smarty.post.postcode}{/if}" onkeyup="$('#postcode').val($('#postcode').val().toUpperCase());" /> </p> {elseif $field_name eq "city"} <p class="required text"> <label for="city">{l s='City'} <sup>*</sup></label> <input type="text" class="text" name="city" id="city" value="{if isset($smarty.post.city)}{$smarty.post.city}{/if}" /> </p> <!-- if customer hasn't update his layout address, country has to be verified but it's deprecated --> {elseif $field_name eq "Country:name" || $field_name eq "country"} <p class="required select"> <label for="id_country">{l s='Country'} <sup>*</sup></label> <select name="id_country" id="id_country"> <option value="">-</option> {foreach from=$countries item=v} <option value="{$v.id_country}" {if ($sl_country == $v.id_country)} selected="selected"{/if}>{$v.name}</option> {/foreach} </select> </p> {elseif $field_name eq "State:name" || $field_name eq 'state'} {assign var='stateExist' value=true} <p class="required id_state select"> <label for="id_state">{l s='State'} <sup>*</sup></label> <select name="id_state" id="id_state"> <option value="">-</option> </select> </p> {/if} {/foreach} {if $stateExist eq false} <p class="required id_state select"> <label for="id_state">{l s='State'} <sup>*</sup></label> <select name="id_state" id="id_state"> <option value="">-</option> </select> </p> {/if} <p class="textarea"> <label for="other">{l s='Additional information'}</label> <textarea name="other" id="other" cols="26" rows="3">{if isset($smarty.post.other)}{$smarty.post.other}{/if}</textarea> </p> {if isset($one_phone_at_least) && $one_phone_at_least} <p class="inline-infos">{l s='You must register at least one phone number.'}</p> {/if} <p class="text"> <label for="phone">{l s='Home phone'}</label> <input type="text" class="text" name="phone" id="phone" value="{if isset($smarty.post.phone)}{$smarty.post.phone}{/if}" /> </p> <p class="{if isset($one_phone_at_least) && $one_phone_at_least}required {/if} text"> <label for="phone_mobile">{l s='Mobile phone'}{if isset($one_phone_at_least) && $one_phone_at_least} <sup>*</sup>{/if}</label> <input type="text" class="text" name="phone_mobile" id="phone_mobile" value="{if isset($smarty.post.phone_mobile)}{$smarty.post.phone_mobile}{/if}" /> </p> <p class="required text" id="address_alias"> <label for="alias">{l s='Assign an address alias for future reference.'} <sup>*</sup></label> <input type="text" class="text" name="alias" id="alias" value="{if isset($smarty.post.alias)}{$smarty.post.alias}{else}{l s='My address'}{/if}" /> </p> </fieldset> <fieldset class="account_creation dni"> <h3>{l s='Tax identification'}</h3> <p class="required text"> <label for="dni">{l s='Identification number'} <sup>*</sup></label> <input type="text" class="text" name="dni" id="dni" value="{if isset($smarty.post.dni)}{$smarty.post.dni}{/if}" /> <span class="form_info">{l s='DNI / NIF / NIE'}</span> </p> </fieldset> {/if} {$HOOK_CREATE_ACCOUNT_FORM} <p class="cart_navigation required submit"> <input type="hidden" name="email_create" value="1" /> <input type="hidden" name="is_new_customer" value="1" /> {if isset($back)}<input type="hidden" class="hidden" name="back" value="{$back|escape:'htmlall':'UTF-8'}" />{/if} <input type="submit" name="submitAccount" id="submitAccount" value="{l s='Register'}" class="exclusive" /> <span><sup>*</sup>{l s='Required field'}</span> </p> </form> {/if} Link to comment Share on other sites More sharing options...
vekia Posted August 8, 2013 Share Posted August 8, 2013 thanks! you've got there code: <fieldset> <h3>{l s='Already registered?'}</h3> <div class="form_content clearfix"> <p class="text"> <label for="email">{l s='Email address'}</label> <span><input type="text" id="email" name="email" value="{if isset($smarty.post.email)}{$smarty.post.email|stripslashes}{/if}" class="account_input" /></span> </p> <p class="text"> <label for="passwd">{l s='Password'}</label> <span><input type="password" id="passwd" name="passwd" value="{if isset($smarty.post.passwd)}{$smarty.post.passwd|stripslashes}{/if}" class="account_input" /></span> </p> <p class="lost_password"><a href="{$link->getPageLink('password')}">{l s='Forgot your password?'}</a></p> <p class="submit"> {if isset($back)}<input type="hidden" class="hidden" name="back" value="{$back|escape:'htmlall':'UTF-8'}" />{/if} <input type="submit" id="SubmitLogin" name="SubmitLogin" class="button" value="{l s='Log in'}" /> </p> </div> </fieldset> change the line: {if isset($back)}<input type="hidden" class="hidden" name="back" value="{$back|escape:'htmlall':'UTF-8'}" />{/if} to: <input type="hidden" class="hidden" name="back" value="{$smarty.server.HTTP_REFERER}" /> 8 Link to comment Share on other sites More sharing options...
Ryan_Glass Posted August 8, 2013 Author Share Posted August 8, 2013 Thanks for this - it worked perfectly! Link to comment Share on other sites More sharing options...
vekia Posted August 8, 2013 Share Posted August 8, 2013 you're welcome glad that i could help you Im going to mark this thread as [solved] now happy selling Link to comment Share on other sites More sharing options...
Bryce Posted September 16, 2013 Share Posted September 16, 2013 (edited) Hello vekia it happen to me too I did the same as you say but it worked good for while but it went back to same thing mine is PrestaShop™ 1.4.7.3 any idea for me? Thanks Edited September 16, 2013 by Bryce (see edit history) Link to comment Share on other sites More sharing options...
vekia Posted September 16, 2013 Share Posted September 16, 2013 Hello vekia it happen to me too I did the same as you say but it worked good for while but it went back to same thing mine is PrestaShop™ 1.4.7.3 any idea for me? Thanks any chance to check your website? if so - please share url Link to comment Share on other sites More sharing options...
triplei Posted October 10, 2013 Share Posted October 10, 2013 worked great! but How would I apply this same logic to the cart? Loging in during checkout? What file? and what code should I replace? Thank you in advance. Link to comment Share on other sites More sharing options...
vekia Posted October 10, 2013 Share Posted October 10, 2013 this method should work also for cart during checkout, customer will be redirected to latest viewed page Link to comment Share on other sites More sharing options...
Centio Posted October 19, 2013 Share Posted October 19, 2013 Great enhancement. One new problem arises after this. During checkout at logon (step 2) you are now redirected back to step 1 instead of 3. Link to comment Share on other sites More sharing options...
vekia Posted October 19, 2013 Share Posted October 19, 2013 in this case you have to modify code a bit, add {if} condition where you check refferer link, if there is order step just redirect to order3 step Link to comment Share on other sites More sharing options...
Centio Posted October 20, 2013 Share Posted October 20, 2013 (edited) Thank you. I knew what I wanted, but am new to PrestaShop and Smarty. Following code is working fine for me now. Added html escape to referrer links for added security To find the URL you need in the first line of code you logout from your account and go to the first step in your checkout. The url shown in your browser is the one you need here {if $smarty.server.HTTP_REFERER == "https://my.webshop.nl/shop/nl/order"} {if isset($back)}<input type="hidden" class="hidden" name="back" value="{$back|escape:'htmlall':'UTF-8'}" />{/if} {else} <input type="hidden" class="hidden" name="back" value="{$smarty.server.HTTP_REFERER|escape:'htmlall':'UTF-8'}" /> {/if} Edited October 20, 2013 by Centio (see edit history) 1 Link to comment Share on other sites More sharing options...
niravaseem Posted January 12, 2014 Share Posted January 12, 2014 Thanks..working perfect.... Link to comment Share on other sites More sharing options...
teo_g Posted March 11, 2014 Share Posted March 11, 2014 @vekia first I want to thank you for your effort in bringing Prestashop customization solutions.I use version 1.5.6.2 Prestashop and I want the visitor who decided to authenticated on a product page, to be returned after you back to that product page. The solution you presented above does not work.Can you help me with a suggestion?Thanks Link to comment Share on other sites More sharing options...
Centio Posted March 11, 2014 Share Posted March 11, 2014 Did the solution in post #17 not work for you? Link to comment Share on other sites More sharing options...
warriorwoman Posted March 24, 2014 Share Posted March 24, 2014 Hello, i like to redirect the checkout only if on the basket there are a product. If on basket there aren't any product redirect on the last page (or home page). I use 1.5. Thank's Link to comment Share on other sites More sharing options...
The Report Store Posted March 24, 2014 Share Posted March 24, 2014 Just wanted to piggyback on this thread. I am looking to have the customer be directed to the home page after logging in. Can you tell me what I need to edit to do that? Redirect enrollees to the home page instead of the "My Account" Thanks! Link to comment Share on other sites More sharing options...
leobardo Posted April 4, 2014 Share Posted April 4, 2014 Hi, how can the redirect be to the home page , instead of the last visited page? thank you ! Link to comment Share on other sites More sharing options...
Centio Posted April 5, 2014 Share Posted April 5, 2014 You should remove my-account (but leave the quotes) from following line in authentication.tpl . Should take you back to homepage after succesfull login if (!Tools::getIsset('step') && $this->context->customer->isLogged() && !$this->ajax)Tools::redirect('index.php?controller='.(($this->authRedirection !== false) ? url_encode($this->authRedirection) : 'my-account')); Link to comment Share on other sites More sharing options...
vekia Posted April 5, 2014 Share Posted April 5, 2014 you can use solution that i provided one page before, instead of the back page use just homepage link, voila Link to comment Share on other sites More sharing options...
simsydney Posted June 10, 2014 Share Posted June 10, 2014 Hi guys, how to redirect to custom page after registration? Link to comment Share on other sites More sharing options...
Jacek Es Posted August 24, 2014 Share Posted August 24, 2014 (edited) Hi, all In 1.6.0.8 and the default theme the authentication.tpl is different than posted here. Could anyone advise what needs to be changed in order redirect to last page after login? Here is the authentication.tpl: {* * 2007-2014 PrestaShop * * NOTICE OF LICENSE * * This source file is subject to the Academic Free License (AFL 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/afl-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-2014 PrestaShop SA * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA *} {capture name=path} {if !isset($email_create)}{l s='Authentication'}{else} <a href="{$link->getPageLink('authentication', true)|escape:'html':'UTF-8'}" rel="nofollow" title="{l s='Authentication'}">{l s='Authentication'}</a> <span class="navigation-pipe">{$navigationPipe}</span>{l s='Create your account'} {/if} {/capture} <h1 class="page-heading">{if !isset($email_create)}{l s='Authentication'}{else}{l s='Create an account'}{/if}</h1> {if isset($back) && preg_match("/^http/", $back)}{assign var='current_step' value='login'}{include file="$tpl_dir./order-steps.tpl"}{/if} {include file="$tpl_dir./errors.tpl"} {assign var='stateExist' value=false} {assign var="postCodeExist" value=false} {assign var="dniExist" value=false} {if !isset($email_create)} <!--{if isset($authentification_error)} <div class="alert alert-danger"> {if {$authentification_error|@count} == 1} <p>{l s='There\'s at least one error'} :</p> {else} <p>{l s='There are %s errors' sprintf=[$account_error|@count]} :</p> {/if} <ol> {foreach from=$authentification_error item=v} <li>{$v}</li> {/foreach} </ol> </div> {/if}--> <div class="row"> <div class="col-xs-12 col-sm-6"> <form action="{$link->getPageLink('authentication', true)|escape:'html':'UTF-8'}" method="post" id="create-account_form" class="box"> <h3 class="page-subheading">{l s='Create an account'}</h3> <div class="form_content clearfix"> <p>{l s='Please enter your email address to create an account.'}</p> <div class="alert alert-danger" id="create_account_error" style="display:none"></div> <div class="form-group"> <label for="email_create">{l s='Email address'}</label> <input type="text" class="is_required validate account_input form-control" data-validate="isEmail" id="email_create" name="email_create" value="{if isset($smarty.post.email_create)}{$smarty.post.email_create|stripslashes}{/if}" /> </div> <div class="submit"> {if isset($back)}<input type="hidden" class="hidden" name="back" value="{$back|escape:'html':'UTF-8'}" />{/if} <button class="btn btn-default button button-medium exclusive" type="submit" id="SubmitCreate" name="SubmitCreate"> <span> <i class="icon-user left"></i> {l s='Create an account'} </span> </button> <input type="hidden" class="hidden" name="SubmitCreate" value="{l s='Create an account'}" /> </div> </div> </form> </div> <div class="col-xs-12 col-sm-6"> <form action="{$link->getPageLink('authentication', true)|escape:'html':'UTF-8'}" method="post" id="login_form" class="box"> <h3 class="page-subheading">{l s='Already registered?'}</h3> <div class="form_content clearfix"> <div class="form-group"> <label for="email">{l s='Email address'}</label> <input class="is_required validate account_input form-control" data-validate="isEmail" type="text" id="email" name="email" value="{if isset($smarty.post.email)}{$smarty.post.email|stripslashes}{/if}" /> </div> <div class="form-group"> <label for="passwd">{l s='Password'}</label> <span><input class="is_required validate account_input form-control" type="password" data-validate="isPasswd" id="passwd" name="passwd" value="{if isset($smarty.post.passwd)}{$smarty.post.passwd|stripslashes}{/if}" /></span> </div> <p class="lost_password form-group"><a href="{$link->getPageLink('password')|escape:'html':'UTF-8'}" title="{l s='Recover your forgotten password'}" rel="nofollow">{l s='Forgot your password?'}</a></p> <p class="submit"> {if isset($back)}<input type="hidden" class="hidden" name="back" value="{$back|escape:'html':'UTF-8'}" />{/if} <button type="submit" id="SubmitLogin" name="SubmitLogin" class="button btn btn-default button-medium"> <span> <i class="icon-lock left"></i> {l s='Sign in'} </span> </button> </p> </div> </form> </div> </div> {if isset($inOrderProcess) && $inOrderProcess && $PS_GUEST_CHECKOUT_ENABLED} <form action="{$link->getPageLink('authentication', true, NULL, "back=$back")|escape:'html':'UTF-8'}" method="post" id="new_account_form" class="std clearfix"> <div class="box"> <div id="opc_account_form" style="display: block; "> <h3 class="page-heading bottom-indent">{l s='Instant checkout'}</h3> <!-- Account --> <div class="required form-group"> <label for="guest_email">{l s='Email address'} <sup>*</sup></label> <input type="text" class="is_required validate form-control" data-validate="isEmail" id="guest_email" name="guest_email" value="{if isset($smarty.post.guest_email)}{$smarty.post.guest_email}{/if}" /> </div> <div class="cleafix gender-line"> <label>{l s='Title'}</label> {foreach from=$genders key=k item=gender} <div class="radio-inline"> <label for="id_gender{$gender->id}" class="top"> <input type="radio" name="id_gender" id="id_gender{$gender->id}" value="{$gender->id}"{if isset($smarty.post.id_gender) && $smarty.post.id_gender == $gender->id} checked="checked"{/if} /> {$gender->name} </label> </div> {/foreach} </div> <div class="required form-group"> <label for="firstname">{l s='First name'} <sup>*</sup></label> <input type="text" class="is_required validate form-control" data-validate="isName" id="firstname" name="firstname" onblur="$('#customer_firstname').val($(this).val());" value="{if isset($smarty.post.firstname)}{$smarty.post.firstname}{/if}" /> <input type="hidden" id="customer_firstname" name="customer_firstname" value="{if isset($smarty.post.firstname)}{$smarty.post.firstname}{/if}" /> </div> <div class="required form-group"> <label for="lastname">{l s='Last name'} <sup>*</sup></label> <input type="text" class="is_required validate form-control" data-validate="isName" id="lastname" name="lastname" onblur="$('#customer_lastname').val($(this).val());" value="{if isset($smarty.post.lastname)}{$smarty.post.lastname}{/if}" /> <input type="hidden" id="customer_lastname" name="customer_lastname" value="{if isset($smarty.post.lastname)}{$smarty.post.lastname}{/if}" /> </div> <div class="form-group date-select"> <label>{l s='Date of Birth'}</label> <div class="row"> <div class="col-xs-4"> <select id="days" name="days" class="form-control"> <option value="">-</option> {foreach from=$days item=day} <option value="{$day}" {if ($sl_day == $day)} selected="selected"{/if}>{$day} </option> {/foreach} </select> {* {l s='January'} {l s='February'} {l s='March'} {l s='April'} {l s='May'} {l s='June'} {l s='July'} {l s='August'} {l s='September'} {l s='October'} {l s='November'} {l s='December'} *} </div> <div class="col-xs-4"> <select id="months" name="months" class="form-control"> <option value="">-</option> {foreach from=$months key=k item=month} <option value="{$k}" {if ($sl_month == $k)} selected="selected"{/if}>{l s=$month} </option> {/foreach} </select> </div> <div class="col-xs-4"> <select id="years" name="years" class="form-control"> <option value="">-</option> {foreach from=$years item=year} <option value="{$year}" {if ($sl_year == $year)} selected="selected"{/if}>{$year} </option> {/foreach} </select> </div> </div> </div> {if isset($newsletter) && $newsletter} <div class="checkbox"> <label for="newsletter"> <input type="checkbox" name="newsletter" id="newsletter" value="1" {if isset($smarty.post.newsletter) && $smarty.post.newsletter == '1'}checked="checked"{/if} /> {l s='Sign up for our newsletter!'}</label> </div> <div class="checkbox"> <label for="optin"> <input type="checkbox" name="optin" id="optin" value="1" {if isset($smarty.post.optin) && $smarty.post.optin == '1'}checked="checked"{/if} /> {l s='Receive special offers from our partners!'}</label> </div> {/if} <h3 class="page-heading bottom-indent top-indent">{l s='Delivery address'}</h3> {foreach from=$dlv_all_fields item=field_name} {if $field_name eq "company" && $b2b_enable} <div class="form-group"> <label for="company">{l s='Company'}</label> <input type="text" class="form-control" id="company" name="company" value="{if isset($smarty.post.company)}{$smarty.post.company}{/if}" /> </div> {elseif $field_name eq "vat_number"} <div id="vat_number" style="display:none;"> <div class="form-group"> <label for="vat-number">{l s='VAT number'}</label> <input id="vat-number" type="text" class="form-control" name="vat_number" value="{if isset($smarty.post.vat_number)}{$smarty.post.vat_number}{/if}" /> </div> </div> {elseif $field_name eq "dni"} {assign var='dniExist' value=true} <div class="required dni form-group"> <label for="dni">{l s='Identification number'} <sup>*</sup></label> <input type="text" name="dni" id="dni" value="{if isset($smarty.post.dni)}{$smarty.post.dni}{/if}" /> <span class="form_info">{l s='DNI / NIF / NIE'}</span> </div> {elseif $field_name eq "address1"} <div class="required form-group"> <label for="address1">{l s='Address'} <sup>*</sup></label> <input type="text" class="form-control" name="address1" id="address1" value="{if isset($smarty.post.address1)}{$smarty.post.address1}{/if}" /> </div> {elseif $field_name eq "address2"} <div class="form-group is_customer_param"> <label for="address2">{l s='Address (Line 2)'} <sup>*</sup></label> <input type="text" class="form-control" name="address2" id="address2" value="{if isset($smarty.post.address2)}{$smarty.post.address2}{/if}" /> </div> {elseif $field_name eq "postcode"} {assign var='postCodeExist' value=true} <div class="required postcode form-group"> <label for="postcode">{l s='Zip/Postal Code'} <sup>*</sup></label> <input type="text" class="form-control" name="postcode" id="postcode" value="{if isset($smarty.post.postcode)}{$smarty.post.postcode}{/if}" onblur="$('#postcode').val($('#postcode').val().toUpperCase());" /> </div> {elseif $field_name eq "city"} <div class="required form-group"> <label for="city">{l s='City'} <sup>*</sup></label> <input type="text" class="form-control" name="city" id="city" value="{if isset($smarty.post.city)}{$smarty.post.city}{/if}" /> </div> <!-- if customer hasn't update his layout address, country has to be verified but it's deprecated --> {elseif $field_name eq "Country:name" || $field_name eq "country"} <div class="required select form-group"> <label for="id_country">{l s='Country'} <sup>*</sup></label> <select name="id_country" id="id_country" class="form-control"> {foreach from=$countries item=v} <option value="{$v.id_country}"{if (isset($smarty.post.id_country) AND $smarty.post.id_country == $v.id_country) OR (!isset($smarty.post.id_country) && $sl_country == $v.id_country)} selected="selected"{/if}>{$v.name}</option> {/foreach} </select> </div> {elseif $field_name eq "State:name"} {assign var='stateExist' value=true} <div class="required id_state select form-group"> <label for="id_state">{l s='State'} <sup>*</sup></label> <select name="id_state" id="id_state" class="form-control"> <option value="">-</option> </select> </div> {/if} {/foreach} {if $stateExist eq false} <div class="required id_state select unvisible form-group"> <label for="id_state">{l s='State'} <sup>*</sup></label> <select name="id_state" id="id_state" class="form-control"> <option value="">-</option> </select> </div> {/if} {if $postCodeExist eq false} <div class="required postcode unvisible form-group"> <label for="postcode">{l s='Zip/Postal Code'} <sup>*</sup></label> <input type="text" class="form-control" name="postcode" id="postcode" value="{if isset($smarty.post.postcode)}{$smarty.post.postcode}{/if}" onblur="$('#postcode').val($('#postcode').val().toUpperCase());" /> </div> {/if} {if $dniExist eq false} <div class="required form-group dni_invoice"> <label for="dni">{l s='Identification number'} <sup>*</sup></label> <input type="text" class="text form-control" name="dni_invoice" id="dni_invoice" value="{if isset($guestInformations) && $guestInformations.dni_invoice}{$guestInformations.dni_invoice}{/if}" /> <span class="form_info">{l s='DNI / NIF / NIE'}</span> </div> {/if} <div class="{if isset($one_phone_at_least) && $one_phone_at_least}required {/if}form-group"> <label for="phone_mobile">{l s='Mobile phone'}{if isset($one_phone_at_least) && $one_phone_at_least} <sup>*</sup>{/if}</label> <input type="text" class="form-control" name="phone_mobile" id="phone_mobile" value="{if isset($smarty.post.phone_mobile)}{$smarty.post.phone_mobile}{/if}" /> </div> <input type="hidden" name="alias" id="alias" value="{l s='My address'}" /> <input type="hidden" name="is_new_customer" id="is_new_customer" value="0" /> <div class="checkbox"> <label for="invoice_address"> <input type="checkbox" name="invoice_address" id="invoice_address"{if (isset($smarty.post.invoice_address) && $smarty.post.invoice_address) || (isset($guestInformations) && $guestInformations.invoice_address)} checked="checked"{/if} autocomplete="off"/> {l s='Please use another address for invoice'}</label> </div> <div id="opc_invoice_address" class="unvisible"> {assign var=stateExist value=false} {assign var=postCodeExist value=false} <h3 class="page-subheading top-indent">{l s='Invoice address'}</h3> {foreach from=$inv_all_fields item=field_name} {if $field_name eq "company" && $b2b_enable} <div class="form-group"> <label for="company_invoice">{l s='Company'}</label> <input type="text" class="text form-control" id="company_invoice" name="company_invoice" value="" /> </div> {elseif $field_name eq "vat_number"} <div id="vat_number_block_invoice" class="is_customer_param" style="display:none;"> <div class="form-group"> <label for="vat_number_invoice">{l s='VAT number'}</label> <input type="text" class="form-control" id="vat_number_invoice" name="vat_number_invoice" value="" /> </div> </div> {elseif $field_name eq "dni"} {assign var=dniExist value=true} <div class="required form-group dni_invoice"> <label for="dni">{l s='Identification number'} <sup>*</sup></label> <input type="text" class="text form-control" name="dni_invoice" id="dni_invoice" value="{if isset($guestInformations) && $guestInformations.dni_invoice}{$guestInformations.dni_invoice}{/if}" /> <span class="form_info">{l s='DNI / NIF / NIE'}</span> </div> {elseif $field_name eq "firstname"} <div class="required form-group"> <label for="firstname_invoice">{l s='First name'} <sup>*</sup></label> <input type="text" class="form-control" id="firstname_invoice" name="firstname_invoice" value="{if isset($guestInformations) && $guestInformations.firstname_invoice}{$guestInformations.firstname_invoice}{/if}" /> </div> {elseif $field_name eq "lastname"} <div class="required form-group"> <label for="lastname_invoice">{l s='Last name'} <sup>*</sup></label> <input type="text" class="form-control" id="lastname_invoice" name="lastname_invoice" value="{if isset($guestInformations) && $guestInformations.lastname_invoice}{$guestInformations.lastname_invoice}{/if}" /> </div> {elseif $field_name eq "address1"} <div class="required form-group"> <label for="address1_invoice">{l s='Address'} <sup>*</sup></label> <input type="text" class="form-control" name="address1_invoice" id="address1_invoice" value="{if isset($guestInformations) && $guestInformations.address1_invoice}{$guestInformations.address1_invoice}{/if}" /> </div> {elseif $field_name eq "address2"} <div class="form-group is_customer_param"> <label for="address2_invoice">{l s='Address (Line 2)'}</label> <input type="text" class="form-control" name="address2_invoice" id="address2_invoice" value="{if isset($guestInformations) && $guestInformations.address2_invoice}{$guestInformations.address2_invoice}{/if}" /> </div> {elseif $field_name eq "postcode"} {$postCodeExist = true} <div class="required postcode_invoice form-group"> <label for="postcode_invoice">{l s='Zip/Postal Code'} <sup>*</sup></label> <input type="text" class="form-control" name="postcode_invoice" id="postcode_invoice" value="{if isset($guestInformations) && $guestInformations.postcode_invoice}{$guestInformations.postcode_invoice}{/if}" onkeyup="$('#postcode_invoice').val($('#postcode_invoice').val().toUpperCase());" /> </div> {elseif $field_name eq "city"} <div class="required form-group"> <label for="city_invoice">{l s='City'} <sup>*</sup></label> <input type="text" class="form-control" name="city_invoice" id="city_invoice" value="{if isset($guestInformations) && $guestInformations.city_invoice}{$guestInformations.city_invoice}{/if}" /> </div> {elseif $field_name eq "country" || $field_name eq "Country:name"} <div class="required form-group"> <label for="id_country_invoice">{l s='Country'} <sup>*</sup></label> <select name="id_country_invoice" id="id_country_invoice" class="form-control"> <option value="">-</option> {foreach from=$countries item=v} <option value="{$v.id_country}"{if (isset($guestInformations) AND $guestInformations.id_country_invoice == $v.id_country) OR (!isset($guestInformations) && $sl_country == $v.id_country)} selected="selected"{/if}>{$v.name|escape:'html':'UTF-8'}</option> {/foreach} </select> </div> {elseif $field_name eq "state" || $field_name eq 'State:name'} {$stateExist = true} <div class="required id_state_invoice form-group" style="display:none;"> <label for="id_state_invoice">{l s='State'} <sup>*</sup></label> <select name="id_state_invoice" id="id_state_invoice" class="form-control"> <option value="">-</option> </select> </div> {/if} {/foreach} {if !$postCodeExist} <div class="required postcode_invoice form-group unvisible"> <label for="postcode_invoice">{l s='Zip/Postal Code'} <sup>*</sup></label> <input type="text" class="form-control" name="postcode_invoice" id="postcode_invoice" value="" onkeyup="$('#postcode').val($('#postcode').val().toUpperCase());" /> </div> {/if} {if !$stateExist} <div class="required id_state_invoice form-group unvisible"> <label for="id_state_invoice">{l s='State'} <sup>*</sup></label> <select name="id_state_invoice" id="id_state_invoice" class="form-control"> <option value="">-</option> </select> </div> {/if} <div class="form-group is_customer_param"> <label for="other_invoice">{l s='Additional information'}</label> <textarea class="form-control" name="other_invoice" id="other_invoice" cols="26" rows="3"></textarea> </div> {if isset($one_phone_at_least) && $one_phone_at_least} <p class="inline-infos required is_customer_param">{l s='You must register at least one phone number.'}</p> {/if} <div class="form-group is_customer_param"> <label for="phone_invoice">{l s='Home phone'}</label> <input type="text" class="form-control" name="phone_invoice" id="phone_invoice" value="{if isset($guestInformations) && $guestInformations.phone_invoice}{$guestInformations.phone_invoice}{/if}" /> </div> <div class="{if isset($one_phone_at_least) && $one_phone_at_least}required {/if}form-group"> <label for="phone_mobile_invoice">{l s='Mobile phone'}{if isset($one_phone_at_least) && $one_phone_at_least} <sup>*</sup>{/if}</label> <input type="text" class="form-control" name="phone_mobile_invoice" id="phone_mobile_invoice" value="{if isset($guestInformations) && $guestInformations.phone_mobile_invoice}{$guestInformations.phone_mobile_invoice}{/if}" /> </div> <input type="hidden" name="alias_invoice" id="alias_invoice" value="{l s='My Invoice address'}" /> </div> <!-- END Account --> </div> {$HOOK_CREATE_ACCOUNT_FORM} </div> <p class="cart_navigation required submit clearfix"> <span><sup>*</sup>{l s='Required field'}</span> <input type="hidden" name="display_guest_checkout" value="1" /> <button type="submit" class="button btn btn-default button-medium" name="submitGuestAccount" id="submitGuestAccount"> <span> {l s='Proceed to checkout'} <i class="icon-chevron-right right"></i> </span> </button> </p> </form> {/if} {else} <!--{if isset($account_error)} <div class="error"> {if {$account_error|@count} == 1} <p>{l s='There\'s at least one error'} :</p> {else} <p>{l s='There are %s errors' sprintf=[$account_error|@count]} :</p> {/if} <ol> {foreach from=$account_error item=v} <li>{$v}</li> {/foreach} </ol> </div> {/if}--> <form action="{$link->getPageLink('authentication', true)|escape:'html':'UTF-8'}" method="post" id="account-creation_form" class="std box"> {$HOOK_CREATE_ACCOUNT_TOP} <div class="account_creation"> <h3 class="page-subheading">{l s='Your personal information'}</h3> <div class="clearfix"> <label>{l s='Title'}</label> <br /> {foreach from=$genders key=k item=gender} <div class="radio-inline"> <label for="id_gender{$gender->id}" class="top"> <input type="radio" name="id_gender" id="id_gender{$gender->id}" value="{$gender->id}" {if isset($smarty.post.id_gender) && $smarty.post.id_gender == $gender->id}checked="checked"{/if} /> {$gender->name} </label> </div> {/foreach} </div> <div class="required form-group"> <label for="customer_firstname">{l s='First name'} <sup>*</sup></label> <input onkeyup="$('#firstname').val(this.value);" type="text" class="is_required validate form-control" data-validate="isName" id="customer_firstname" name="customer_firstname" value="{if isset($smarty.post.customer_firstname)}{$smarty.post.customer_firstname}{/if}" /> </div> <div class="required form-group"> <label for="customer_lastname">{l s='Last name'} <sup>*</sup></label> <input onkeyup="$('#lastname').val(this.value);" type="text" class="is_required validate form-control" data-validate="isName" id="customer_lastname" name="customer_lastname" value="{if isset($smarty.post.customer_lastname)}{$smarty.post.customer_lastname}{/if}" /> </div> <div class="required form-group"> <label for="email">{l s='Email'} <sup>*</sup></label> <input type="text" class="is_required validate form-control" data-validate="isEmail" id="email" name="email" value="{if isset($smarty.post.email)}{$smarty.post.email}{/if}" /> </div> <div class="required password form-group"> <label for="passwd">{l s='Password'} <sup>*</sup></label> <input type="password" class="is_required validate form-control" data-validate="isPasswd" name="passwd" id="passwd" /> <span class="form_info">{l s='(Five characters minimum)'}</span> </div> <div class="form-group"> <label>{l s='Date of Birth'}</label> <div class="row"> <div class="col-xs-4"> <select id="days" name="days" class="form-control"> <option value="">-</option> {foreach from=$days item=day} <option value="{$day}" {if ($sl_day == $day)} selected="selected"{/if}>{$day} </option> {/foreach} </select> {* {l s='January'} {l s='February'} {l s='March'} {l s='April'} {l s='May'} {l s='June'} {l s='July'} {l s='August'} {l s='September'} {l s='October'} {l s='November'} {l s='December'} *} </div> <div class="col-xs-4"> <select id="months" name="months" class="form-control"> <option value="">-</option> {foreach from=$months key=k item=month} <option value="{$k}" {if ($sl_month == $k)} selected="selected"{/if}>{l s=$month} </option> {/foreach} </select> </div> <div class="col-xs-4"> <select id="years" name="years" class="form-control"> <option value="">-</option> {foreach from=$years item=year} <option value="{$year}" {if ($sl_year == $year)} selected="selected"{/if}>{$year} </option> {/foreach} </select> </div> </div> </div> {if $newsletter} <div class="checkbox"> <input type="checkbox" name="newsletter" id="newsletter" value="1" {if isset($smarty.post.newsletter) AND $smarty.post.newsletter == 1} checked="checked"{/if} /> <label for="newsletter">{l s='Sign up for our newsletter!'}</label> </div> <div class="checkbox"> <input type="checkbox"name="optin" id="optin" value="1" {if isset($smarty.post.optin) AND $smarty.post.optin == 1} checked="checked"{/if} /> <label for="optin">{l s='Receive special offers from our partners!'}</label> </div> {/if} </div> {if $b2b_enable} <div class="account_creation"> <h3 class="page-subheading">{l s='Your company information'}</h3> <p class="form-group"> <label for="">{l s='Company'}</label> <input type="text" class="form-control" id="company" name="company" value="{if isset($smarty.post.company)}{$smarty.post.company}{/if}" /> </p> <p class="form-group"> <label for="siret">{l s='SIRET'}</label> <input type="text" class="form-control" id="siret" name="siret" value="{if isset($smarty.post.siret)}{$smarty.post.siret}{/if}" /> </p> <p class="form-group"> <label for="ape">{l s='APE'}</label> <input type="text" class="form-control" id="ape" name="ape" value="{if isset($smarty.post.ape)}{$smarty.post.ape}{/if}" /> </p> <p class="form-group"> <label for="website">{l s='Website'}</label> <input type="text" class="form-control" id="website" name="website" value="{if isset($smarty.post.website)}{$smarty.post.website}{/if}" /> </p> </div> {/if} {if isset($PS_REGISTRATION_PROCESS_TYPE) && $PS_REGISTRATION_PROCESS_TYPE} <div class="account_creation"> <h3 class="page-subheading">{l s='Your address'}</h3> {foreach from=$dlv_all_fields item=field_name} {if $field_name eq "company"} {if !$b2b_enable} <p class="form-group"> <label for="company">{l s='Company'}</label> <input type="text" class="form-control" id="company" name="company" value="{if isset($smarty.post.company)}{$smarty.post.company}{/if}" /> </p> {/if} {elseif $field_name eq "vat_number"} <div id="vat_number" style="display:none;"> <p class="form-group"> <label for="vat_number">{l s='VAT number'}</label> <input type="text" class="form-control" name="vat_number" value="{if isset($smarty.post.vat_number)}{$smarty.post.vat_number}{/if}" /> </p> </div> {elseif $field_name eq "firstname"} <p class="required form-group"> <label for="firstname">{l s='First name'} <sup>*</sup></label> <input type="text" class="form-control" id="firstname" name="firstname" value="{if isset($smarty.post.firstname)}{$smarty.post.firstname}{/if}" /> </p> {elseif $field_name eq "lastname"} <p class="required form-group"> <label for="lastname">{l s='Last name'} <sup>*</sup></label> <input type="text" class="form-control" id="lastname" name="lastname" value="{if isset($smarty.post.lastname)}{$smarty.post.lastname}{/if}" /> </p> {elseif $field_name eq "address1"} <p class="required form-group"> <label for="address1">{l s='Address'} <sup>*</sup></label> <input type="text" class="form-control" name="address1" id="address1" value="{if isset($smarty.post.address1)}{$smarty.post.address1}{/if}" /> <span class="inline-infos">{l s='Street address, P.O. Box, Company name, etc.'}</span> </p> {elseif $field_name eq "address2"} <p class="form-group is_customer_param"> <label for="address2">{l s='Address (Line 2)'}</label> <input type="text" class="form-control" name="address2" id="address2" value="{if isset($smarty.post.address2)}{$smarty.post.address2}{/if}" /> <span class="inline-infos">{l s='Apartment, suite, unit, building, floor, etc...'}</span> </p> {elseif $field_name eq "postcode"} {assign var='postCodeExist' value=true} <p class="required postcode form-group"> <label for="postcode">{l s='Zip/Postal Code'} <sup>*</sup></label> <input type="text" class="form-control" name="postcode" id="postcode" value="{if isset($smarty.post.postcode)}{$smarty.post.postcode}{/if}" onkeyup="$('#postcode').val($('#postcode').val().toUpperCase());" /> </p> {elseif $field_name eq "city"} <p class="required form-group"> <label for="city">{l s='City'} <sup>*</sup></label> <input type="text" class="form-control" name="city" id="city" value="{if isset($smarty.post.city)}{$smarty.post.city}{/if}" /> </p> <!-- if customer hasn't update his layout address, country has to be verified but it's deprecated --> {elseif $field_name eq "Country:name" || $field_name eq "country"} <p class="required select form-group"> <label for="id_country">{l s='Country'} <sup>*</sup></label> <select name="id_country" id="id_country" class="form-control"> <option value="">-</option> {foreach from=$countries item=v} <option value="{$v.id_country}"{if (isset($smarty.post.id_country) AND $smarty.post.id_country == $v.id_country) OR (!isset($smarty.post.id_country) && $sl_country == $v.id_country)} selected="selected"{/if}>{$v.name}</option> {/foreach} </select> </p> {elseif $field_name eq "State:name" || $field_name eq 'state'} {assign var='stateExist' value=true} <p class="required id_state select form-group"> <label for="id_state">{l s='State'} <sup>*</sup></label> <select name="id_state" id="id_state" class="form-control"> <option value="">-</option> </select> </p> {/if} {/foreach} {if $postCodeExist eq false} <p class="required postcode form-group unvisible"> <label for="postcode">{l s='Zip/Postal Code'} <sup>*</sup></label> <input type="text" class="form-control" name="postcode" id="postcode" value="{if isset($smarty.post.postcode)}{$smarty.post.postcode}{/if}" onkeyup="$('#postcode').val($('#postcode').val().toUpperCase());" /> </p> {/if} {if $stateExist eq false} <p class="required id_state select unvisible form-group"> <label for="id_state">{l s='State'} <sup>*</sup></label> <select name="id_state" id="id_state" class="form-control"> <option value="">-</option> </select> </p> {/if} <p class="textarea form-group"> <label for="other">{l s='Additional information'}</label> <textarea class="form-control" name="other" id="other" cols="26" rows="3">{if isset($smarty.post.other)}{$smarty.post.other}{/if}</textarea> </p> {if isset($one_phone_at_least) && $one_phone_at_least} <p class="inline-infos">{l s='You must register at least one phone number.'}</p> {/if} <p class="form-group"> <label for="phone">{l s='Home phone'}</label> <input type="text" class="form-control" name="phone" id="phone" value="{if isset($smarty.post.phone)}{$smarty.post.phone}{/if}" /> </p> <p class="{if isset($one_phone_at_least) && $one_phone_at_least}required {/if}form-group"> <label for="phone_mobile">{l s='Mobile phone'}{if isset($one_phone_at_least) && $one_phone_at_least} <sup>*</sup>{/if}</label> <input type="text" class="form-control" name="phone_mobile" id="phone_mobile" value="{if isset($smarty.post.phone_mobile)}{$smarty.post.phone_mobile}{/if}" /> </p> <p class="required form-group" id="address_alias"> <label for="alias">{l s='Assign an address alias for future reference.'} <sup>*</sup></label> <input type="text" class="form-control" name="alias" id="alias" value="{if isset($smarty.post.alias)}{$smarty.post.alias}{else}{l s='My address'}{/if}" /> </p> </div> <div class="account_creation dni"> <h3 class="page-subheading">{l s='Tax identification'}</h3> <p class="required form-group"> <label for="dni">{l s='Identification number'} <sup>*</sup></label> <input type="text" class="form-control" name="dni" id="dni" value="{if isset($smarty.post.dni)}{$smarty.post.dni}{/if}" /> <span class="form_info">{l s='DNI / NIF / NIE'}</span> </p> </div> {/if} {$HOOK_CREATE_ACCOUNT_FORM} <div class="submit clearfix"> <input type="hidden" name="email_create" value="1" /> <input type="hidden" name="is_new_customer" value="1" /> {if isset($back)}<input type="hidden" class="hidden" name="back" value="{$back|escape:'html':'UTF-8'}" />{/if} <button type="submit" name="submitAccount" id="submitAccount" class="btn btn-default button button-medium"> <span>{l s='Register'}<i class="icon-chevron-right right"></i></span> </button> <p class="pull-right required"><span><sup>*</sup>{l s='Required field'}</span></p> </div> </form> {/if} {strip} {if isset($smarty.post.id_state) && $smarty.post.id_state} {addJsDef idSelectedState=$smarty.post.id_state|intval} {else if isset($address->id_state) && $address->id_state} {addJsDef idSelectedState=$address->id_state|intval} {else} {addJsDef idSelectedState=false} {/if} {if isset($smarty.post.id_country) && $smarty.post.id_country} {addJsDef idSelectedCountry=$smarty.post.id_country|intval} {else if isset($address->id_country) && $address->id_country} {addJsDef idSelectedCountry=$address->id_country|intval} {else} {addJsDef idSelectedCountry=false} {/if} {if isset($countries)} {addJsDef countries=$countries} {/if} {if isset($vatnumber_ajax_call) && $vatnumber_ajax_call} {addJsDef vatnumber_ajax_call=$vatnumber_ajax_call} {/if} {if isset($email_create) && $email_create} {addJsDef email_create=$email_create|boolval} {else} {addJsDef email_create=false} {/if} {/strip} Edited August 24, 2014 by Jacek Es (see edit history) Link to comment Share on other sites More sharing options...
vekia Posted August 24, 2014 Share Posted August 24, 2014 yea file is different, but some parts are the same exactly as a part with <input name="back"> {if isset($back)}<input type="hidden" class="hidden" name="back" value="{$back|escape:'html':'UTF-8'}" />{/if} Link to comment Share on other sites More sharing options...
Jacek Es Posted August 24, 2014 Share Posted August 24, 2014 Thanks. I tried this one before. This bit appears in authentication.tpl 3 times (ln 64, ln 90 and 646). I replaced all 3 with what you suggested earlier on and it doesn't do the job. Btw., This line is slightly different in 1.6. That's why I couldn't find it before. Below is comparison. {if isset($back)}<input type="hidden" class="hidden" name="back" value="{$back|escape:'htmlall':'UTF-8'}" />{/if} {if isset($back)}<input type="hidden" class="hidden" name="back" value="{$back|escape:'html':'UTF-8'}" />{/if} Any idea what could go wrong? Link to comment Share on other sites More sharing options...
vekia Posted August 24, 2014 Share Posted August 24, 2014 let's clarify, what you're trying to achieve that's the most important question in this case Link to comment Share on other sites More sharing options...
Jacek Es Posted August 24, 2014 Share Posted August 24, 2014 Sure ;-) When I add product to the cart and proceed to the checkout I am asked to sign in (step 2 - sign in). After signing in it redirects to "My account". What I am trying to achieve is that after signing in I continue with checkout (step 3 - address) Link to comment Share on other sites More sharing options...
Centio Posted August 24, 2014 Share Posted August 24, 2014 Prestashop takes you to the my-account page after login by design. Look at my solution in post #24. My guess is something similar for 1.6.0 exists. Just look for "my-account" in the code. Link to comment Share on other sites More sharing options...
Jacek Es Posted August 24, 2014 Share Posted August 24, 2014 Thanks Centio. The code is different in PrestaShop 1.6. Nothing similar to what you posted exists in the authentication.tpl. I posted the entire code at #27. Also, redirecting always to home page isn't ideal as it would break the flow of checkout process (when you have to login at step 2). The preferred option is to redirect to previous page as suggested in this post. The problem is that it doesn't want to work in PrestaShop 1.6.0.8 Link to comment Share on other sites More sharing options...
Centio Posted August 25, 2014 Share Posted August 25, 2014 I will have a look in my 1.6.0 development server. I got it to work for 1.5.6.0, just the way you want it. As far as I can tell. Login should redirect you to the place you were before. Would love to hear from Presta Devs why they choose otherwise 1 Link to comment Share on other sites More sharing options...
Salus Posted October 1, 2014 Share Posted October 1, 2014 Thank you again, Vekia and Centio, this is a very useful and constructive topic, saved my day. Centio`s solution works great, although it took me some time to guess which is the "first step" in login process. Finally I put the http://www.mysite.com/login?back=my-account link for the if condition, and it works good for customers that already have an account, but those newly registered will still see their new my-account page after registration. Can I set more than one condition in this line below? separated with an "and"? {if $smarty.server.HTTP_REFERER == "http://www.salus-tehnomed.ro/login?back=my-account"} Link to comment Share on other sites More sharing options...
Salus Posted October 2, 2014 Share Posted October 2, 2014 Any ideeas, please?.. for multiple conditions. Link to comment Share on other sites More sharing options...
webdev.thoughtfood Posted January 23, 2015 Share Posted January 23, 2015 Thank you so much works perfect Link to comment Share on other sites More sharing options...
habib_s Posted September 9, 2015 Share Posted September 9, 2015 (edited) thanks for that, #8 it works perfect for me in pretashop 1.6 line to change : 90 Thanks Vekia Edited September 9, 2015 by habib_s (see edit history) Link to comment Share on other sites More sharing options...
dfuzion Posted September 13, 2015 Share Posted September 13, 2015 Hi Vekia, I'm using PS 1.6.1.1. I want to go back to step 1 after identification so I modified authentication.tpl with your script. I can see the right url in navigator : http://www.domain.fr/connexion?back=http%3A%2F%2Fwww.domain.fr%2Fcommande%3Fstep%3D1 but when I enter email and password i'm still redirected to homepage. In fact I'm always redirected to homepage, with or with out your code (by default back=my-account)... Any reason for this ? Thanks. Jérôme Link to comment Share on other sites More sharing options...
Vidhi_shah Posted April 19, 2016 Share Posted April 19, 2016 Hello vekia, Situation : After successful registration, customer is returned to login page.This is fine if new customers are immediately allowed to buy with no validation from admin.My case: wholesale store where customers have to validated by admin before they can buy. So I would like to send the customer to a cms page (success) after they've registered. There we can explain more in detail why they can't immediately login but have to wait to be validated before seeing product prices.What file might I edit to accomplish this? Thanks in advance. Link to comment Share on other sites More sharing options...
cedric_charles Posted May 27, 2016 Share Posted May 27, 2016 Hi ! I would like to "remove" the my-account.tpl page. So every time a user goes to this page, I want to redirect directly to identity.tpl. So everytime a user login, redirect him to identity.tpl. Is that possible ? Thank you in advance ! Link to comment Share on other sites More sharing options...
kassimi.hn Posted September 15, 2017 Share Posted September 15, 2017 I'm facing the same issue. I found a tutorial to redirect customer after login during checkout but I can't make it work. What I had, by default is redirection to home page when I added the script ,after being logged it goes to my account. What I want to do is to redirect user to the first step(order).what do I need to change. here is the link : https://www.arnaud-merigeau.fr/tuto-prestashop-rediriger-apres-login-vers-etape-suivante/ Thanks for helping me and I'm sorry for my english Link to comment Share on other sites More sharing options...
Recommended Posts