Jump to content

fresh_fx59

Members
  • Posts

    9
  • Joined

  • Last visited

Contact Methods

Profile Information

  • Location
    Russia
  • Activity
    Project Owner

fresh_fx59's Achievements

Newbie

Newbie (1/14)

4

Reputation

  1. Я редактировал product.tpl и header.tpl(для fb это кажется нужно). <div id="more_info_block" class="clear"> <ul id="more_info_tabs" class="idTabs idTabsShort clearfix"> {if $product->description}<li><a id="more_info_tab_more_info" href="#idTab1">{l s='More info'}</a></li>{/if} {if $features}<li><a id="more_info_tab_data_sheet" href="#idTab2">{l s='Data sheet'}</a></li>{/if} {if $attachments}<li><a id="more_info_tab_attachments" href="#idTab9">{l s='Download'}</a></li>{/if} {if isset($accessories) AND $accessories}<li><a href="#idTab4">{l s='Accessories'}</a></li>{/if} <!-- my new disqus tab --> <li><a id="my_comment_tab" href="#idMyTab1">{l s='My Comments'}</a></li> <!-- END my new disqus tab --> ... <!-- 544 my new comments tab --> <ul id="idMyTab1" class="bullet"> <!-- vk comments --> {literal} <!-- Put this div tag to the place, where the Comments block will be --> <script type="text/javascript"> VK.init({apiId: 0000000, onlyWidgets: true}); </script> <div id="vk_comments" style="margin-bottom: 20px"></div> <script type="text/javascript"> VK.Widgets.Comments("vk_comments", {limit: 50, attach: "*"}); </script> <!-- END vk comments --> <!-- fb comments --> <!-- code for facebook comment --> {/literal} <div class="fb-comments" data-href="http://{$smarty.server.HTTP_HOST}{$smarty.server.REQUEST_URI}" data-width="668" data-numpost="50"></div> {literal} <!-- END fb comments --> <!-- odnoklassniki comments --> <!-- END odnoklassniki comments --> <!-- disqus comments --> <div id="disqus_thread"> <script type="text/javascript"> <!--/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE <? php echo $product.id_product; {$product->id} $id_product?>* * */--> var disqus_shortname = '0000000'; // required: replace example with your forum shortname <!--var disqus_identifier = '{$request_uri}';--> <!--var disqus_url = 'http://{$smarty.server.HTTP_HOST}{$smarty.server.REQUEST_URI}';/--> <!--/* * * DON'T EDIT BELOW THIS LINE * * */--> (function() { var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js'; (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); })(); </script> <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript'>http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript> <a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a> </div> <!-- END disqus comments --> {/literal} </ul> <!-- END 585 my new comments tab --> ... По facebook ещё в header, кажется нужно что-то добавить(по инструкции вообщем) Но у меня вопрос: как можно использовать номер продукта(product id) в качестве disqus_identifier? Как вообще туда переменную запилить? Работает это здесь _scantool62.ru Буду ОООЧЕНЬ признателен, если поможете.
  2. Yes, I've checked the very first post of this topic it says: "You can access the program in the browser like "www.myshop.com/mydir/order_edit.php"." and the readme-triple_edit.txt it stated: "Move all files to a folder below the root. Access them in your browser like "www.myshop.com/triple/order-edit.php"" Only this post seemed to be the right one http://www.prestashop.com/forums/topic/185401-free-script-product-mass-edit-category-multi-edit-order-edit/?p=1501762 Sad to here that there is too complicated to make mass category edit. My case is that I have several mistakes during planning my shop categories and now I have to make them properly.
  3. To make it work properly, you should 1. Extract zip archive to specific folder of you site(ex. site.com/newdir/) 2. To start the script, input site.com/newdir/login1.php in your browser 3. Enter password "opensecret", push login 4. You should log in to cpanel or log in to your site.com/newdir/ via FTP and edit password in line 8 login1.php file musicmaster, thank you for this script. - Could you add the second point to the manual? I've tried to run you script about an hour, while figuring out what should I do))) - Do you plan to add "mass change parent directory" function for categories edit(similar to products)? It would be really useful development.
  4. Hello. Where did you get Authentication settings? I have no such settings in 1.5.6( Advanced Parameters E-mail )... I figure it out in such a way 1. Create new mailbox in cPanel on my host 2. Use host's mail settings in Advanced Parameters > E-mail 3. For customers messages are sent from my gmail account. But I have cyrillic names in my shop and in "To:" field in message customer could see =?UTF-8?B?w5DCkMOQwrrDkcKBw5DCtcOQwr3DkMK+w5DCsiDDkMKQw5DCu8OQwrXDkMK6?= =?UTF-8?B?w5HCgcOQwrXDkMK5IMOQwp3DkMK4w5DCusOQwr7DkMK7w5DCsMOQwrXDkMKy?= =?UTF-8?B?w5DCuMORwoc=?= <[email protected]> Mail alert about new order still don't work(module is up to date). It is not good point. Any ideas how could solve it?
  5. Doesn't work on prestashop 1.5.4.1. Front office have no button, back office only Settings updated message while configuring(no settings available).
  6. I assume you should examine shopping-cart.tpl to turn tax displaying off.
  7. It is a simple callback module based on prestashop's newsletter block. The same size, hooks and design. It send's inputted number on specified e-mail address or on shop's default(PS_SHOP_EMAIL) address. Inputted number is checked by preg_match ( "/^([0-9\(\)\/\+ \-]*)$/", $_POST['phone'] ) Pressing Like this button is required, donate are welcome with this link. Модуль обратный звонок, основанный на Newsletterblock. Имеет схожий дизайн и частично использует элементы кода. После ввода номера телефона и нажатия кнопки отправить, введённый текст проверяется регулярным выражением на телефонность preg_match ( "/^([0-9\(\)\/\+ \-]*)$/", $_POST['phone'] ) если номер проходит, высылается письмо на указанный в настройках модуля e-mail или на PS_SHOP_EMAIL, если не адрес не указан. Иначе выводится сообщения о неудачной отправке данных. Понравился модуль, нажми Like this, также благодарности принимаются на PayPal - link или Яндекс.Деньги 410011861759399 anacallback.zip
  8. in 1.5.4.1 you should inspect img/s directory for carriers logo and img/tmp carrier_mini_ID.jpg files.
  9. I've copied shopping-cart.tpl from default theme to myTheme like in this post
  10. Tax row is shown permanently despite Display tax in the shopping cart state on modified default theme, but on default theme this feature works fine. What file do we need to copy from default theme to modified or what should be done to overcome it? I've done a back up and copied shopping-cart.tpl from default theme to myTheme. After that translation of cart should be done but tax issue is solved.
  11. Don't know what it was, but now after reupdating to 1.5.4.1 everything ok. Solved.
  12. I've made a rollback to 1.5.4.0 and registration began to work again. But any help with update will be appreciate.
  13. Hi all. While upgrading my prestashop site from 1.5.4.0 to 1.5.4.1(1-click upgrade module) I have one issue. The thing is that when I fill in firstname and lastname in one page checkout, guest checkout or create an account mode the prestashop says: 1. firstname is requiered. 2. lastname is required. But they are filled. On normal checkout new user creates without errors. What can I do with it any thougths? I am using default theme, english or russian language, no modifications are made to core files. Site address _scantool62.ru. I think problem is somewhere in attached files... themes/default/js/order-opc.js /* * 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 */ function updateCarrierList(json) { var html = json.carrier_block; // @todo check with theme 1.4 //if ($('#HOOK_EXTRACARRIER').length == 0 && json.HOOK_EXTRACARRIER !== null && json.HOOK_EXTRACARRIER != undefined) // html += json.HOOK_EXTRACARRIER; $('#carrier_area').replaceWith(html); bindInputs(); /* update hooks for carrier module */ $('#HOOK_BEFORECARRIER').html(json.HOOK_BEFORECARRIER); } function updatePaymentMethods(json) { $('#HOOK_TOP_PAYMENT').html(json.HOOK_TOP_PAYMENT); $('#opc_payment_methods-content #HOOK_PAYMENT').html(json.HOOK_PAYMENT); } function updatePaymentMethodsDisplay() { var checked = ''; if ($('#cgv:checked').length !== 0) checked = 1; else checked = 0; $('#opc_payment_methods-overlay').fadeIn('slow', function(){ $.ajax({ type: 'POST', headers: { "cache-control": "no-cache" }, url: orderOpcUrl + '?rand=' + new Date().getTime(), async: true, cache: false, dataType : "json", data: 'ajax=true&method=updateTOSStatusAndGetPayments&checked=' + checked + '&token=' + static_token, success: function(json) { updatePaymentMethods(json); } }); $(this).fadeOut('slow'); }); } function updateAddressSelection() { var idAddress_delivery = ($('#opc_id_address_delivery').length == 1 ? $('#opc_id_address_delivery').val() : $('#id_address_delivery').val()); var idAddress_invoice = ($('#opc_id_address_invoice').length == 1 ? $('#opc_id_address_invoice').val() : ($('#addressesAreEquals:checked').length == 1 ? idAddress_delivery : ($('#id_address_invoice').length == 1 ? $('#id_address_invoice').val() : idAddress_delivery))); $('#opc_account-overlay').fadeIn('slow'); $('#opc_delivery_methods-overlay').fadeIn('slow'); $('#opc_payment_methods-overlay').fadeIn('slow'); $.ajax({ type: 'POST', headers: { "cache-control": "no-cache" }, url: orderOpcUrl + '?rand=' + new Date().getTime(), async: true, cache: false, dataType : "json", data: 'ajax=true&method=updateAddressesSelected&id_address_delivery=' + idAddress_delivery + '&id_address_invoice=' + idAddress_invoice + '&token=' + static_token, success: function(jsonData) { if (jsonData.hasError) { var errors = ''; for(var error in jsonData.errors) //IE6 bug fix if(error !== 'indexOf') errors += jsonData.errors[error] + "\n"; alert(errors); } else { // Update all product keys with the new address id $('#cart_summary .address_'+deliveryAddress).each(function() { $(this) .removeClass('address_'+deliveryAddress) .addClass('address_'+idAddress_delivery); $(this).attr('id', $(this).attr('id').replace(/_\d+$/, '_'+idAddress_delivery)); if ($(this).find('.cart_unit span').length > 0 && $(this).find('.cart_unit span').attr('id').length > 0) $(this).find('.cart_unit span').attr('id', $(this).find('.cart_unit span').attr('id').replace(/_\d+$/, '_'+idAddress_delivery)); if ($(this).find('.cart_total span').length > 0 && $(this).find('.cart_total span').attr('id').length > 0) $(this).find('.cart_total span').attr('id', $(this).find('.cart_total span').attr('id').replace(/_\d+$/, '_'+idAddress_delivery)); if ($(this).find('.cart_quantity_input').length > 0 && $(this).find('.cart_quantity_input').attr('name').length > 0) { var name = $(this).find('.cart_quantity_input').attr('name')+'_hidden'; $(this).find('.cart_quantity_input').attr('name', $(this).find('.cart_quantity_input').attr('name').replace(/_\d+$/, '_'+idAddress_delivery)); if ($(this).find('[name='+name+']').length > 0) $(this).find('[name='+name+']').attr('name', name.replace(/_\d+_hidden$/, '_'+idAddress_delivery+'_hidden')); } if ($(this).find('.cart_quantity_delete').length > 0 && $(this).find('.cart_quantity_delete').attr('id').length > 0) { $(this).find('.cart_quantity_delete') .attr('id', $(this).find('.cart_quantity_delete').attr('id').replace(/_\d+$/, '_'+idAddress_delivery)) .attr('href', $(this).find('.cart_quantity_delete').attr('href').replace(/id_address_delivery=\d+&/, 'id_address_delivery='+idAddress_delivery+'&')); } if ($(this).find('.cart_quantity_down').length > 0 && $(this).find('.cart_quantity_down').attr('id').length > 0) { $(this).find('.cart_quantity_down') .attr('id', $(this).find('.cart_quantity_down').attr('id').replace(/_\d+$/, '_'+idAddress_delivery)) .attr('href', $(this).find('.cart_quantity_down').attr('href').replace(/id_address_delivery=\d+&/, 'id_address_delivery='+idAddress_delivery+'&')); } if ($(this).find('.cart_quantity_up').length > 0 && $(this).find('.cart_quantity_up').attr('id').length > 0) { $(this).find('.cart_quantity_up') .attr('id', $(this).find('.cart_quantity_up').attr('id').replace(/_\d+$/, '_'+idAddress_delivery)) .attr('href', $(this).find('.cart_quantity_up').attr('href').replace(/id_address_delivery=\d+&/, 'id_address_delivery='+idAddress_delivery+'&')); } }); // Update global var deliveryAddress deliveryAddress = idAddress_delivery; if (window.ajaxCart !== undefined) { $('#cart_block_list dd, #cart_block_list dt').each(function(){ if (typeof($(this).attr('id')) != 'undefined') $(this).attr('id', $(this).attr('id').replace(/_\d+$/, '_' + idAddress_delivery)); }); } updateCarrierList(jsonData.carrier_data); updatePaymentMethods(jsonData); updateCartSummary(jsonData.summary); updateHookShoppingCart(jsonData.HOOK_SHOPPING_CART); updateHookShoppingCartExtra(jsonData.HOOK_SHOPPING_CART_EXTRA); if ($('#gift-price').length == 1) $('#gift-price').html(jsonData.gift_price); $('#opc_account-overlay, #opc_delivery_methods-overlay, #opc_payment_methods-overlay').fadeOut('slow'); } }, error: function(XMLHttpRequest, textStatus, errorThrown) { if (textStatus !== 'abort') alert("TECHNICAL ERROR: unable to save adresses \n\nDetails:\nError thrown: " + XMLHttpRequest + "\n" + 'Text status: ' + textStatus); $('#opc_account-overlay, #opc_delivery_methods-overlay, #opc_payment_methods-overlay').fadeOut('slow'); } }); } function getCarrierListAndUpdate() { $('#opc_delivery_methods-overlay').fadeIn('slow'); $.ajax({ type: 'POST', headers: { "cache-control": "no-cache" }, url: orderOpcUrl + '?rand=' + new Date().getTime(), async: true, cache: false, dataType : "json", data: 'ajax=true&method=getCarrierList&token=' + static_token, success: function(jsonData) { if (jsonData.hasError) { var errors = ''; for(var error in jsonData.errors) //IE6 bug fix if(error !== 'indexOf') errors += jsonData.errors[error] + "\n"; alert(errors); } else updateCarrierList(jsonData); $('#opc_delivery_methods-overlay').fadeOut('slow'); } }); } function updateCarrierSelectionAndGift() { var recyclablePackage = 0; var gift = 0; var giftMessage = ''; var delivery_option_radio = $('.delivery_option_radio'); var delivery_option_params = '&'; $.each(delivery_option_radio, function(i) { if ($(this).prop('checked')) delivery_option_params += $(delivery_option_radio[i]).attr('name') + '=' + $(delivery_option_radio[i]).val() + '&'; }); if (delivery_option_params == '&') delivery_option_params = '&delivery_option=&'; if ($('input#recyclable:checked').length) recyclablePackage = 1; if ($('input#gift:checked').length) { gift = 1; giftMessage = encodeURIComponent($('#gift_message').val()); } $('#opc_delivery_methods-overlay, #opc_payment_methods-overlay').fadeOut('slow'); $.ajax({ type: 'POST', headers: { "cache-control": "no-cache" }, url: orderOpcUrl + '?rand=' + new Date().getTime(), async: true, cache: false, dataType : "json", data: 'ajax=true&method=updateCarrierAndGetPayments' + delivery_option_params + 'recyclable=' + recyclablePackage + '&gift=' + gift + '&gift_message=' + giftMessage + '&token=' + static_token , success: function(jsonData) { if (jsonData.hasError) { var errors = ''; for(var error in jsonData.errors) //IE6 bug fix if(error !== 'indexOf') errors += jsonData.errors[error] + "\n"; alert(errors); } else { updateCartSummary(jsonData.summary); updatePaymentMethods(jsonData); updateHookShoppingCart(jsonData.summary.HOOK_SHOPPING_CART); updateHookShoppingCartExtra(jsonData.summary.HOOK_SHOPPING_CART_EXTRA); updateCarrierList(jsonData.carrier_data); $('#opc_delivery_methods-overlay, #opc_payment_methods-overlay').fadeOut('slow'); refreshDeliveryOptions(); } }, error: function(XMLHttpRequest, textStatus, errorThrown) { if (textStatus !== 'abort') alert("TECHNICAL ERROR: unable to save carrier \n\nDetails:\nError thrown: " + XMLHttpRequest + "\n" + 'Text status: ' + textStatus); $('#opc_delivery_methods-overlay, #opc_payment_methods-overlay').fadeOut('slow'); } }); } function confirmFreeOrder() { if ($('#opc_new_account-overlay').length !== 0) $('#opc_new_account-overlay').fadeIn('slow'); else $('#opc_account-overlay').fadeIn('slow'); $('#opc_delivery_methods-overlay, #opc_payment_methods-overlay').fadeOut('slow'); $('#confirmOrder').attr('disabled', 'disabled'); $.ajax({ type: 'POST', headers: { "cache-control": "no-cache" }, url: orderOpcUrl + '?rand=' + new Date().getTime(), async: true, cache: false, dataType : "html", data: 'ajax=true&method=makeFreeOrder&token=' + static_token , success: function(html) { $('#confirmOrder').attr('disabled', ''); var array_split = html.split(':'); if (array_split[0] == 'freeorder') { if (isGuest) document.location.href = guestTrackingUrl+'?id_order='+encodeURIComponent(array_split[1])+'&email='+encodeURIComponent(array_split[2]); else document.location.href = historyUrl; } }, error: function(XMLHttpRequest, textStatus, errorThrown) { if (textStatus !== 'abort') alert("TECHNICAL ERROR: unable to confirm the order \n\nDetails:\nError thrown: " + XMLHttpRequest + "\n" + 'Text status: ' + textStatus); } }); } function saveAddress(type) { if (type !== 'delivery' && type !== 'invoice') return false; var params = 'firstname='+encodeURIComponent($('#firstname'+(type == 'invoice' ? '_invoice' : '')).val())+'&lastname='+encodeURIComponent($('#lastname'+(type == 'invoice' ? '_invoice' : '')).val())+'&'; params += 'company='+encodeURIComponent($('#company'+(type == 'invoice' ? '_invoice' : '')).val())+'&'; params += 'vat_number='+encodeURIComponent($('#vat_number'+(type == 'invoice' ? '_invoice' : '')).val())+'&'; params += 'dni='+encodeURIComponent($('#dni'+(type == 'invoice' ? '_invoice' : '')).val())+'&'; params += 'address1='+encodeURIComponent($('#address1'+(type == 'invoice' ? '_invoice' : '')).val())+'&'; params += 'address2='+encodeURIComponent($('#address2'+(type == 'invoice' ? '_invoice' : '')).val())+'&'; params += 'postcode='+encodeURIComponent($('#postcode'+(type == 'invoice' ? '_invoice' : '')).val())+'&'; params += 'city='+encodeURIComponent($('#city'+(type == 'invoice' ? '_invoice' : '')).val())+'&'; params += 'id_country='+encodeURIComponent($('#id_country').val())+'&'; if ($('#id_state'+(type == 'invoice' ? '_invoice' : '')).val()) params += 'id_state='+encodeURIComponent($('#id_state'+(type == 'invoice' ? '_invoice' : '')).val())+'&'; params += 'other='+encodeURIComponent($('#other'+(type == 'invoice' ? '_invoice' : '')).val())+'&'; params += 'phone='+encodeURIComponent($('#phone'+(type == 'invoice' ? '_invoice' : '')).val())+'&'; params += 'phone_mobile='+encodeURIComponent($('#phone_mobile'+(type == 'invoice' ? '_invoice' : '')).val())+'&'; params += 'alias='+encodeURIComponent($('#alias'+(type == 'invoice' ? '_invoice' : '')).val())+'&'; if (type == 'delivery' && $('#opc_id_address_delivery').val() != undefined && parseInt($('#opc_id_address_delivery').val()) > 0) params += 'opc_id_address_delivery='+encodeURIComponent($('#opc_id_address_delivery').val())+'&'; if (type == 'invoice' && $('#opc_id_address_invoice').val() != undefined && parseInt($('#opc_id_address_invoice').val()) > 0) params += 'opc_id_address_invoice='+encodeURIComponent($('#opc_id_address_invoice').val())+'&'; // Clean the last & params = params.substr(0, params.length-1); var result = false; $.ajax({ type: 'POST', headers: { "cache-control": "no-cache" }, url: addressUrl + '?rand=' + new Date().getTime(), async: false, cache: false, dataType : "json", data: 'ajax=true&submitAddress=true&type='+type+'&'+params+'&token=' + static_token, success: function(jsonData) { if (jsonData.hasError) { var tmp = ''; var i = 0; for(var error in jsonData.errors) //IE6 bug fix if(error !== 'indexOf') { i = i+1; tmp += '<li>'+jsonData.errors[error]+'</li>'; } tmp += '</ol>'; var errors = '<b>'+txtThereis+' '+i+' '+txtErrors+':</b><ol>'+tmp; $('#opc_account_errors').slideUp('fast', function(){ $(this).html(errors).slideDown('slow', function(){ $.scrollTo('#opc_account_errors', 800); }); }); $('#opc_account-overlay, #opc_delivery_methods-overlay, #opc_payment_methods-overlay').fadeOut('slow'); result = false; } else { // update addresses id $('input#opc_id_address_delivery').val(jsonData.id_address_delivery); $('input#opc_id_address_invoice').val(jsonData.id_address_invoice); result = true; } }, error: function(XMLHttpRequest, textStatus, errorThrown) { if (textStatus !== 'abort') alert("TECHNICAL ERROR: unable to save adresses \n\nDetails:\nError thrown: " + XMLHttpRequest + "\n" + 'Text status: ' + textStatus); $('#opc_account-overlay, #opc_delivery_methods-overlay, #opc_payment_methods-overlay').fadeOut('slow'); } }); return result; } function updateNewAccountToAddressBlock() { $('#opc_account-overlay, #opc_delivery_methods-overlay, #opc_payment_methods-overlay').fadeOut('slow');; $.ajax({ type: 'POST', headers: { "cache-control": "no-cache" }, url: orderOpcUrl + '?rand=' + new Date().getTime(), async: true, cache: false, dataType : "json", data: 'ajax=true&method=getAddressBlockAndCarriersAndPayments&token=' + static_token , success: function(json) { isLogged = 1; if (json.no_address == 1) document.location.href = addressUrl; $('#opc_new_account').fadeOut('fast', function() { $('#opc_new_account').html(json.order_opc_adress); // update block user info if (json.block_user_info !== '' && $('#header_user').length == 1) { var elt = $(json.block_user_info).find('#header_user_info').html(); $('#header_user_info').fadeOut('nortmal', function() { $(this).html(elt).fadeIn(); }); } $('#opc_new_account').fadeIn('fast', function() { //After login, the products are automatically associated to an address $.each(json.summary.products, function() { updateAddressId(this.id_product, this.id_product_attribute, '0', this.id_address_delivery); }); updateAddressesDisplay(true); updateCarrierList(json.carrier_data); updateCarrierSelectionAndGift(); updatePaymentMethods(json); if ($('#gift-price').length == 1) $('#gift-price').html(json.gift_price); $('#opc_delivery_methods-overlay, #opc_payment_methods-overlay').fadeOut('slow'); }); }); }, error: function(XMLHttpRequest, textStatus, errorThrown) { if (textStatus !== 'abort') alert("TECHNICAL ERROR: unable to send login informations \n\nDetails:\nError thrown: " + XMLHttpRequest + "\n" + 'Text status: ' + textStatus); $('#opc_delivery_methods-overlay, #opc_payment_methods-overlay').fadeOut('slow'); } }); } $(function() { // GUEST CHECKOUT / NEW ACCOUNT MANAGEMENT if ((!isLogged) || (isGuest)) { if (guestCheckoutEnabled && !isLogged) { $('#opc_account_choice').show(); $('#opc_account_form, #opc_invoice_address').hide(); $('#opc_createAccount').click(function() { $('.is_customer_param').show(); $('#opc_account_form').slideDown('slow'); $('#is_new_customer').val('1'); $('#opc_account_choice, #opc_invoice_address').hide(); updateState(); updateNeedIDNumber(); updateZipCode(); }); $('#opc_guestCheckout').click(function() { $('.is_customer_param').hide(); $('#opc_account_form').slideDown('slow'); $('#is_new_customer').val('0'); $('#opc_account_choice, #opc_invoice_address').hide(); $('#new_account_title').html(txtInstantCheckout); updateState(); updateNeedIDNumber(); updateZipCode(); }); } else if (isGuest) { $('.is_customer_param').hide(); $('#opc_account_form').show('slow'); $('#is_new_customer').val('0'); $('#opc_account_choice, #opc_invoice_address').hide(); $('#new_account_title').html(txtInstantCheckout); updateState(); updateNeedIDNumber(); updateZipCode(); } else { $('#opc_account_choice').hide(); $('#is_new_customer').val('1'); $('.is_customer_param, #opc_account_form').show(); $('#opc_invoice_address').hide(); updateState(); updateNeedIDNumber(); updateZipCode(); } // LOGIN FORM $('#openLoginFormBlock').click(function() { $('#openNewAccountBlock').show(); $(this).hide(); $('#login_form_content').slideDown('slow'); $('#new_account_form_content').slideUp('slow'); return false; }); // LOGIN FORM SENDING $('#SubmitLogin').click(function() { $.ajax({ type: 'POST', headers: { "cache-control": "no-cache" }, url: authenticationUrl + '?rand=' + new Date().getTime(), async: false, cache: false, dataType : "json", data: 'SubmitLogin=true&ajax=true&email='+encodeURIComponent($('#login_email').val())+'&passwd='+encodeURIComponent($('#login_passwd').val())+'&token=' + static_token , success: function(jsonData) { if (jsonData.hasError) { var errors = '<b>'+txtThereis+' '+jsonData.errors.length+' '+txtErrors+':</b><ol>'; for(var error in jsonData.errors) //IE6 bug fix if(error !== 'indexOf') errors += '<li>'+jsonData.errors[error]+'</li>'; errors += '</ol>'; $('#opc_login_errors').html(errors).slideDown('slow'); } else { // update token static_token = jsonData.token; updateNewAccountToAddressBlock(); } }, error: function(XMLHttpRequest, textStatus, errorThrown) { if (textStatus !== 'abort') alert("TECHNICAL ERROR: unable to send login informations \n\nDetails:\nError thrown: " + XMLHttpRequest + "\n" + 'Text status: ' + textStatus); } }); return false; }); // INVOICE ADDRESS $('#invoice_address').click(function() { bindCheckbox(); }); // VALIDATION / CREATION AJAX $('#submitAccount').click(function() { $('#opc_new_account-overlay, #opc_delivery_methods-overlay, #opc_payment_methods-overlay').fadeIn('slow') var callingFile = ''; var params = ''; if (parseInt($('#opc_id_customer').val()) == 0) { callingFile = authenticationUrl; params = 'submitAccount=true&'; } else { callingFile = orderOpcUrl; params = 'method=editCustomer&'; } $('#opc_account_form input:visible, #opc_account_form input[type=hidden]').each(function() { if ($(this).is('input[type=checkbox]')) { if ($(this).is(':checked')) params += encodeURIComponent($(this).attr('name'))+'=1&'; } else if ($(this).is('input[type=radio]')) { if ($(this).is(':checked')) params += encodeURIComponent($(this).attr('name'))+'='+encodeURIComponent($(this).val())+'&'; } else params += encodeURIComponent($(this).attr('name'))+'='+encodeURIComponent($(this).val())+'&'; }); $('#opc_account_form select:visible').each(function() { params += encodeURIComponent($(this).attr('name'))+'='+encodeURIComponent($(this).val())+'&'; }); params += 'customer_lastname='+encodeURIComponent($('#customer_lastname').val())+'&'; params += 'customer_firstname='+encodeURIComponent($('#customer_firstname').val())+'&'; params += 'alias='+encodeURIComponent($('#alias').val())+'&'; params += 'other='+encodeURIComponent($('#other').val())+'&'; params += 'is_new_customer='+encodeURIComponent($('#is_new_customer').val())+'&'; // Clean the last & params = params.substr(0, params.length-1); $.ajax({ type: 'POST', headers: { "cache-control": "no-cache" }, url: callingFile + '?rand=' + new Date().getTime(), async: false, cache: false, dataType : "json", data: 'ajax=true&'+params+'&token=' + static_token , success: function(jsonData) { if (jsonData.hasError) { var tmp = ''; var i = 0; for(var error in jsonData.errors) //IE6 bug fix if(error !== 'indexOf') { i = i+1; tmp += '<li>'+jsonData.errors[error]+'</li>'; } tmp += '</ol>'; var errors = '<b>'+txtThereis+' '+i+' '+txtErrors+':</b><ol>'+tmp; $('#opc_account_errors').slideUp('fast', function(){ $(this).html(errors).slideDown('slow', function(){ $.scrollTo('#opc_account_errors', 800); }); }); } else { $('#opc_account_errors').slideUp('slow', function(){ $(this).html(''); }); } isGuest = parseInt($('#is_new_customer').val()) == 1 ? 0 : 1; // update addresses id if(jsonData.id_address_delivery !== undefined && jsonData.id_address_delivery > 0) $('#opc_id_address_delivery').val(jsonData.id_address_delivery); if(jsonData.id_address_invoice !== undefined && jsonData.id_address_invoice > 0) $('#opc_id_address_invoice').val(jsonData.id_address_invoice); if (jsonData.id_customer !== undefined && jsonData.id_customer !== 0 && jsonData.isSaved) { // update token static_token = jsonData.token; // It's not a new customer if ($('#opc_id_customer').val() !== '0') if (!saveAddress('delivery')) return false; // update id_customer $('#opc_id_customer').val(jsonData.id_customer); if ($('#invoice_address:checked').length !== 0) { if (!saveAddress('invoice')) return false; } // update id_customer $('#opc_id_customer').val(jsonData.id_customer); // force to refresh carrier list if (isGuest) { isLogged = 1; $('#opc_account_saved').fadeIn('slow'); $('#submitAccount').hide(); updateAddressSelection(); } else updateNewAccountToAddressBlock(); } $('#opc_new_account-overlay, #opc_delivery_methods-overlay, #opc_payment_methods-overlay').fadeIn('slow'); }, error: function(XMLHttpRequest, textStatus, errorThrown) { if (textStatus !== 'abort') alert("TECHNICAL ERROR: unable to save account \n\nDetails:\nError thrown: " + XMLHttpRequest + "\n" + 'Text status: ' + textStatus); $('#opc_new_account-overlay, #opc_delivery_methods-overlay, #opc_payment_methods-overlay').fadeIn('slow') } }); return false; }); } bindCheckbox(); bindInputs(); $('#opc_account_form input,select,textarea').change(function() { if ($(this).is(':visible')) { $('#opc_account_saved').fadeOut('slow'); $('#submitAccount').show(); } }); }); function bindCheckbox() { if ($('#invoice_address:checked').length > 0) { $('#opc_invoice_address').slideDown('slow'); if ($('#company_invoice').val() == '') $('#vat_number_block_invoice').hide(); updateState('invoice'); updateNeedIDNumber('invoice'); updateZipCode('invoice'); } else $('#opc_invoice_address').slideUp('slow'); } function bindInputs() { // Order message update $('#message').blur(function() { $('#opc_delivery_methods-overlay').fadeIn('slow'); $.ajax({ type: 'POST', headers: { "cache-control": "no-cache" }, url: orderOpcUrl + '?rand=' + new Date().getTime(), async: false, cache: false, dataType : "json", data: 'ajax=true&method=updateMessage&message=' + encodeURIComponent($('#message').val()) + '&token=' + static_token , success: function(jsonData) { if (jsonData.hasError) { var errors = ''; for(var error in jsonData.errors) //IE6 bug fix if(error !== 'indexOf') errors += jsonData.errors[error] + "\n"; alert(errors); } else $('#opc_delivery_methods-overlay').fadeOut('slow'); }, error: function(XMLHttpRequest, textStatus, errorThrown) { if (textStatus !== 'abort') alert("TECHNICAL ERROR: unable to save message \n\nDetails:\nError thrown: " + XMLHttpRequest + "\n" + 'Text status: ' + textStatus); $('#opc_delivery_methods-overlay').fadeOut('slow'); } }); }); // Recyclable checkbox $('#recyclable').click(function() { updateCarrierSelectionAndGift(); }); // Gift checkbox update $('#gift').click(function() { if ($('#gift').is(':checked')) $('#gift_div').show(); else $('#gift_div').hide(); updateCarrierSelectionAndGift(); }); if ($('#gift').is(':checked')) $('#gift_div').show(); else $('#gift_div').hide(); // Gift message update $('#gift_message').change(function() { updateCarrierSelectionAndGift(); }); // Term Of Service (TOS) $('#cgv').click(function() { updatePaymentMethodsDisplay(); }); } function multishippingMode(it) { if ($(it).prop('checked')) { $('#address_delivery, .address_delivery').hide(); $('#address_invoice').removeClass('alternate_item').addClass('item'); $('#multishipping_mode_box').addClass('on'); $('.addressesAreEquals').hide(); $('#address_invoice_form').show(); $('#link_multishipping_form').click(function() {return false;}); $('.address_add a').attr('href', addressMultishippingUrl); $('#link_multishipping_form').fancybox({ 'transitionIn': 'elastic', 'transitionOut': 'elastic', 'type': 'ajax', 'onClosed': function() { // Reload the cart $.ajax({ type: 'POST', headers: { "cache-control": "no-cache" }, url: orderOpcUrl + '?rand=' + new Date().getTime(), data: 'ajax=true&method=cartReload', dataType : 'html', cache: false, success: function(data) { $('#cart_summary').replaceWith($(data).find('#cart_summary')); $('.cart_quantity_input').typeWatch({ highlight: true, wait: 600, captureLength: 0, callback: function(val) { updateQty(val, true, this.el); } }); } }); updateCarrierSelectionAndGift(); }, 'onStart': function() { // Removing all ids on the cart to avoid conflic with the new one on the fancybox // This action could "break" the cart design, if css rules use ids of the cart $.each($('#cart_summary *'), function(it, el) { $(el).attr('id', ''); }); }, 'onComplete': function() { $('#fancybox-content .cart_quantity_input').typeWatch({ highlight: true, wait: 600, captureLength: 0, callback: function(val) { updateQty(val, false, this.el);} }); cleanSelectAddressDelivery(); $('#fancybox-content').append($('<div class="multishipping_close_container"><a id="multishipping-close" class="button_large" href="#">' + CloseTxt + '</a></div>')); $('#multishipping-close').click(function() { var newTotalQty = 0; $('#fancybox-content .cart_quantity_input').each(function(){ newTotalQty += parseInt($(this).val()); }); if (newTotalQty !== totalQty) { if(!confirm(QtyChanged)) { return false; } } $.fancybox.close(); return false; }); totalQty = 0; $('#fancybox-content .cart_quantity_input').each(function(){ totalQty += parseInt($(this).val()); }); } }); } else { $('#address_delivery, .address_delivery').show(); $('#address_invoice').removeClass('item').addClass('alternate_item'); $('#multishipping_mode_box').removeClass('on'); $('.addressesAreEquals').show(); if ($('.addressesAreEquals').find('input:checked').length) $('#address_invoice_form').hide(); else $('#address_invoice_form').show(); $('.address_add a').attr('href', addressUrl); // Disable multi address shipping $.ajax({ type: 'POST', headers: { "cache-control": "no-cache" }, url: orderOpcUrl + '?rand=' + new Date().getTime(), async: true, cache: false, data: 'ajax=true&method=noMultiAddressDelivery' }); // Reload the cart $.ajax({ type: 'POST', headers: { "cache-control": "no-cache" }, url: orderOpcUrl + '?rand=' + new Date().getTime(), async: true, cache: false, data: 'ajax=true&method=cartReload', dataType : 'html', success: function(data) { $('#cart_summary').replaceWith($(data).find('#cart_summary')); } }); } } $(document).ready(function() { // If the multishipping mode is off assure us the checkbox "I want to specify a delivery address for each products I order." is unchecked. $('#multishipping_mode_checkbox').attr('checked', false); // If the multishipping mode is on, check the box "I want to specify a delivery address for each products I order.". if (typeof(multishipping_mode) !== 'undefined' && multishipping_mode) { $('#multishipping_mode_checkbox').click(); $('.addressesAreEquals').hide().find('input').attr('checked', false); } if (typeof(open_multishipping_fancybox) !== 'undefined' && open_multishipping_fancybox) $('#link_multishipping_form').click(); }); order-opc.tpl {* * 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 *} {if $opc} {assign var="back_order_page" value="order-opc.php"} {else} {assign var="back_order_page" value="order.php"} {/if} {if $PS_CATALOG_MODE} {capture name=path}{l s='Your shopping cart'}{/capture} {include file="$tpl_dir./breadcrumb.tpl"} <h2 id="cart_title">{l s='Your shopping cart'}</h2> <p class="warning">{l s='Your new order was not accepted.'}</p> {else} <script type="text/javascript"> // <![CDATA[ var imgDir = '{$img_dir}'; var authenticationUrl = '{$link->getPageLink("authentication", true)}'; var orderOpcUrl = '{$link->getPageLink("order-opc", true)}'; var historyUrl = '{$link->getPageLink("history", true)}'; var guestTrackingUrl = '{$link->getPageLink("guest-tracking", true)}'; var addressUrl = '{$link->getPageLink("address", true, NULL, "back={$back_order_page}")}'; var orderProcess = 'order-opc'; var guestCheckoutEnabled = {$PS_GUEST_CHECKOUT_ENABLED|intval}; var currencySign = '{$currencySign|html_entity_decode:2:"UTF-8"}'; var currencyRate = '{$currencyRate|floatval}'; var currencyFormat = '{$currencyFormat|intval}'; var currencyBlank = '{$currencyBlank|intval}'; var displayPrice = {$priceDisplay}; var taxEnabled = {$use_taxes}; var conditionEnabled = {$conditions|intval}; var countries = new Array(); var countriesNeedIDNumber = new Array(); var countriesNeedZipCode = new Array(); var vat_management = {$vat_management|intval}; var txtWithTax = "{l s='(tax incl.)' js=1}"; var txtWithoutTax = "{l s='(tax excl.)' js=1}"; var txtHasBeenSelected = "{l s='has been selected' js=1}"; var txtNoCarrierIsSelected = "{l s='No carrier has been selected' js=1}"; var txtNoCarrierIsNeeded = "{l s='No carrier is needed for this order' js=1}"; var txtConditionsIsNotNeeded = "{l s='You do not need to accept the Terms of Service for this order.' js=1}"; var txtTOSIsAccepted = "{l s='The service terms have been accepted' js=1}"; var txtTOSIsNotAccepted = "{l s='The service terms have not been accepted' js=1}"; var txtThereis = "{l s='There is' js=1}"; var txtErrors = "{l s='Error(s)' js=1}"; var txtDeliveryAddress = "{l s='Delivery address' js=1}"; var txtInvoiceAddress = "{l s='Invoice address' js=1}"; var txtModifyMyAddress = "{l s='Modify my address' js=1}"; var txtInstantCheckout = "{l s='Instant checkout' js=1}"; var txtSelectAnAddressFirst = "{l s='Please start by selecting an address.' js=1}"; var errorCarrier = "{$errorCarrier}"; var errorTOS = "{$errorTOS}"; var checkedCarrier = "{if isset($checked)}{$checked}{else}0{/if}"; var addresses = new Array(); var isLogged = {$isLogged|intval}; var isGuest = {$isGuest|intval}; var isVirtualCart = {$isVirtualCart|intval}; var isPaymentStep = {$isPaymentStep|intval}; //]]> </script> {if $productNumber} <!-- Shopping Cart --> {include file="$tpl_dir./shopping-cart.tpl"} <!-- End Shopping Cart --> {if $isLogged AND !$isGuest} {include file="$tpl_dir./order-address.tpl"} {else} <!-- Create account / Guest account / Login block --> {include file="$tpl_dir./order-opc-new-account.tpl"} <!-- END Create account / Guest account / Login block --> {/if} <!-- Carrier --> {include file="$tpl_dir./order-carrier.tpl"} <!-- END Carrier --> <!-- Payment --> {include file="$tpl_dir./order-payment.tpl"} <!-- END Payment --> {else} {capture name=path}{l s='Your shopping cart'}{/capture} {include file="$tpl_dir./breadcrumb.tpl"} <h2>{l s='Your shopping cart'}</h2> <p class="warning">{l s='Your shopping cart is empty.'}</p> {/if} {/if} order-opc-new-account.tpl <div id="opc_new_account" class="opc-main-block"> <div id="opc_new_account-overlay" class="opc-overlay" style="display: none;"></div> <h2><span>1</span> {l s='Account'}</h2> <form action="{$link->getPageLink('authentication', true, NULL, "back=order-opc")}" method="post" id="login_form" class="std"> <fieldset> <h3>{l s='Already registered?'}</h3> <p><a href="#" id="openLoginFormBlock">» {l s='Click here'}</a></p> <div id="login_form_content" style="display:none;"> <!-- Error return block --> <div id="opc_login_errors" class="error" style="display:none;"></div> <!-- END Error return block --> <div style="margin-left:40px;margin-bottom:5px;float:left;width:40%;"> <label for="login_email">{l s='Email address'}</label> <span><input type="text" id="login_email" name="email" /></span> </div> <div style="margin-left:40px;margin-bottom:5px;float:left;width:40%;"> <label for="login_passwd">{l s='Password'}</label> <span><input type="password" id="login_passwd" name="login_passwd" /></span> <a href="{$link->getPageLink('password', true)}" class="lost_password">{l s='Forgot your password?'}</a> </div> <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='Login'}" /> </p> </div> </fieldset> </form> <form action="javascript:;" method="post" id="new_account_form" class="std" autocomplete="on" autofill="on"> <fieldset> <h3 id="new_account_title">{l s='New Customer'}</h3> <div id="opc_account_choice"> <div class="opc_float"> <p class="title_block">{l s='Instant Checkout'}</p> <p> <input type="button" class="exclusive_large" id="opc_guestCheckout" value="{l s='Guest checkout'}" /> </p> </div> <div class="opc_float"> <p class="title_block">{l s='Create your account today and enjoy:'}</p> <ul class="bullet"> <li>{l s='Personalized and secure access'}</li> <li>{l s='A fast and easy check out process'}</li> <li>{l s='Separate billing and shipping addresses'}</li> </ul> <p> <input type="button" class="button_large" id="opc_createAccount" value="{l s='Create an account'}" /> </p> </div> <div class="clear"></div> </div> <div id="opc_account_form"> {$HOOK_CREATE_ACCOUNT_TOP} <script type="text/javascript"> // <![CDATA[ idSelectedCountry = {if isset($guestInformations) && $guestInformations.id_state}{$guestInformations.id_state|intval}{else}false{/if}; {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}', 'name' : '{$state.name|escape:'htmlall':'UTF-8'}'{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} //]]> {literal} function vat_number() { if ($('#company').val() != '') $('#vat_number_block').show(); else $('#vat_number_block').hide(); } function vat_number_invoice() { if ($('#company_invoice').val() != '') $('#vat_number_block_invoice').show(); else $('#vat_number_block_invoice').hide(); } $(document).ready(function() { $('#company').blur(function(){ vat_number(); }); $('#company_invoice').blur(function(){ vat_number_invoice(); }); vat_number(); vat_number_invoice(); }); {/literal} </script> <!-- Error return block --> <div id="opc_account_errors" class="error" style="display:none;"></div> <!-- END Error return block --> <!-- Account --> <input type="hidden" id="is_new_customer" name="is_new_customer" value="0" /> <input type="hidden" id="opc_id_customer" name="opc_id_customer" value="{if isset($guestInformations) && $guestInformations.id_customer}{$guestInformations.id_customer}{else}0{/if}" /> <input type="hidden" id="opc_id_address_delivery" name="opc_id_address_delivery" value="{if isset($guestInformations) && $guestInformations.id_address_delivery}{$guestInformations.id_address_delivery}{else}0{/if}" /> <input type="hidden" id="opc_id_address_invoice" name="opc_id_address_invoice" value="{if isset($guestInformations) && $guestInformations.id_address_delivery}{$guestInformations.id_address_delivery}{else}0{/if}" /> <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($guestInformations) && $guestInformations.email}{$guestInformations.email}{/if}" /> </p> <p class="required password is_customer_param"> <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 min.)'}</span> </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_gender}" value="{$gender->id_gender}" {if isset($smarty.post.id_gender) && $smarty.post.id_gender == $gender->id_gender}checked="checked"{/if} /> <label for="id_gender{$gender->id_gender}" 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="customer_firstname" name="customer_firstname" onblur="$('#firstname').val($(this).val());" value="{if isset($guestInformations) && $guestInformations.customer_firstname}{$guestInformations.customer_firstname}{/if}" /> </p> <p class="required text"> <label for="lastname">{l s='Last name'} <sup>*</sup></label> <input type="text" class="text" id="customer_lastname" name="customer_lastname" onblur="$('#lastname').val($(this).val());" value="{if isset($guestInformations) && $guestInformations.customer_lastname}{$guestInformations.customer_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|escape:'htmlall':'UTF-8'}" {if isset($guestInformations) && ($guestInformations.sl_day == $day)} selected="selected"{/if}>{$day|escape:'htmlall':'UTF-8'} </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|escape:'htmlall':'UTF-8'}" {if isset($guestInformations) && ($guestInformations.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|escape:'htmlall':'UTF-8'}" {if isset($guestInformations) && ($guestInformations.sl_year == $year)} selected="selected"{/if}>{$year|escape:'htmlall':'UTF-8'} </option> {/foreach} </select> </p> {if isset($newsletter) && $newsletter} <p class="checkbox"> <input type="checkbox" name="newsletter" id="newsletter" value="1" {if isset($guestInformations) && $guestInformations.newsletter}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($guestInformations) && $guestInformations.optin}checked="checked"{/if} /> <label for="optin">{l s='Receive special offers from our partners!'}</label> </p> {/if} <h3>{l s='Delivery address'}</h3> {$stateExist = false} {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($guestInformations) && $guestInformations.company}{$guestInformations.company}{/if}" /> </p> {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($guestInformations) && $guestInformations.firstname}{$guestInformations.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($guestInformations) && $guestInformations.lastname}{$guestInformations.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($guestInformations) && $guestInformations.address1}{$guestInformations.address1}{/if}" /> </p> {elseif $field_name eq "address2"} <p class="text is_customer_param"> <label for="address2">{l s='Address (Line 2)'}</label> <input type="text" class="text" name="address2" id="address2" value="" /> </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($guestInformations) && $guestInformations.postcode}{$guestInformations.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($guestInformations) && $guestInformations.city}{$guestInformations.city}{/if}" /> </p> {elseif $field_name eq "country" || $field_name eq "Country:name"} <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 (isset($guestInformations) AND $guestInformations.id_country == $v.id_country) OR (!isset($guestInformations) && $sl_country == $v.id_country)} selected="selected"{/if}>{$v.name|escape:'htmlall':'UTF-8'}</option> {/foreach} </select> </p> {elseif $field_name eq "vat_number"} <div id="vat_number_block" style="display:none;"> <p class="text"> <label for="vat_number">{l s='VAT number'}</label> <input type="text" class="text" name="vat_number" id="vat_number" value="{if isset($guestInformations) && $guestInformations.vat_number}{$guestInformations.vat_number}{/if}" /> </p> </div> {elseif $field_name eq "state" || $field_name eq 'State:name'} {$stateExist = true} <p class="required id_state select" style="display:none;"> <label for="id_state">{l s='State'} <sup>*</sup></label> <select name="id_state" id="id_state"> <option value="">-</option> </select> </p> {/if} {/foreach} <p class="required text dni"> <label for="dni">{l s='Identification number'}</label> <input type="text" class="text" name="dni" id="dni" value="{if isset($guestInformations) && $guestInformations.dni}{$guestInformations.dni}{/if}" /> <span class="form_info">{l s='DNI / NIF / NIE'}</span> </p> {if !$stateExist} <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 is_customer_param"> <label for="other">{l s='Additional information'}</label> <textarea name="other" id="other" cols="26" rows="3"></textarea> </p> {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} <p class="text is_customer_param"> <label for="phone">{l s='Home phone'}</label> <input type="text" class="text" name="phone" id="phone" value="{if isset($guestInformations) && $guestInformations.phone}{$guestInformations.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="" /> </p> <input type="hidden" name="alias" id="alias" value="{l s='My address'}" /> <p class="checkbox is_customer_param"> <input type="checkbox" name="invoice_address" id="invoice_address" /> <label for="invoice_address"><b>{l s='Please use another address for invoice'}</b></label> </p> <div id="opc_invoice_address" class="is_customer_param"> {assign var=stateExist value=false} <h3>{l s='Invoice address'}</h3> {foreach from=$inv_all_fields item=field_name} {if $field_name eq "company"} <p class="text is_customer_param"> <label for="company_invoice">{l s='Company'}</label> <input type="text" class="text" id="company_invoice" name="company_invoice" value="" /> </p> {elseif $field_name eq "vat_number"} <div id="vat_number_block_invoice" class="is_customer_param" style="display:none;"> <p class="text"> <label for="vat_number_invoice">{l s='VAT number'}</label> <input type="text" class="text" id="vat_number_invoice" name="vat_number_invoice" value="" /> </p> </div> <p class="required text dni_invoice"> <label for="dni">{l s='Identification number'}</label> <input type="text" class="text" name="dni_invoice" id="dni_invoice" value="{if isset($guestInformations) && $guestInformations.dni}{$guestInformations.dni}{/if}" /> <span class="form_info">{l s='DNI / NIF / NIE'}</span> </p> {elseif $field_name eq "firstname"} <p class="required text"> <label for="firstname_invoice">{l s='First name'} <sup>*</sup></label> <input type="text" class="text" id="firstname_invoice" name="firstname_invoice" value="" /> </p> {elseif $field_name eq "lastname"} <p class="required text"> <label for="lastname_invoice">{l s='Last name'} <sup>*</sup></label> <input type="text" class="text" id="lastname_invoice" name="lastname_invoice" value="" /> </p> {elseif $field_name eq "address1"} <p class="required text"> <label for="address1_invoice">{l s='Address'} <sup>*</sup></label> <input type="text" class="text" name="address1_invoice" id="address1_invoice" value="" /> </p> {elseif $field_name eq "address2"} <p class="text is_customer_param"> <label for="address2_invoice">{l s='Address (Line 2)'}</label> <input type="text" class="text" name="address2_invoice" id="address2_invoice" value="" /> </p> {elseif $field_name eq "postcode"} <p class="required postcode text"> <label for="postcode_invoice">{l s='Zip / Postal Code'} <sup>*</sup></label> <input type="text" class="text" name="postcode_invoice" id="postcode_invoice" value="" onkeyup="$('#postcode').val($('#postcode').val().toUpperCase());" /> </p> {elseif $field_name eq "city"} <p class="required text"> <label for="city_invoice">{l s='City'} <sup>*</sup></label> <input type="text" class="text" name="city_invoice" id="city_invoice" value="" /> </p> {elseif $field_name eq "country" || $field_name eq "Country:name"} <p class="required select"> <label for="id_country_invoice">{l s='Country'} <sup>*</sup></label> <select name="id_country_invoice" id="id_country_invoice"> <option value="">-</option> {foreach from=$countries item=v} <option value="{$v.id_country}" {if ($sl_country == $v.id_country)} selected="selected"{/if}>{$v.name|escape:'htmlall':'UTF-8'}</option> {/foreach} </select> </p> {elseif $field_name eq "state" || $field_name eq 'State:name'} {$stateExist = true} <p class="required id_state_invoice select" style="display:none;"> <label for="id_state_invoice">{l s='State'} <sup>*</sup></label> <select name="id_state_invoice" id="id_state_invoice"> <option value="">-</option> </select> </p> {/if} {/foreach} {if !$stateExist} <p class="required id_state_invoice select" style="display:none;"> <label for="id_state_invoice">{l s='State'} <sup>*</sup></label> <select name="id_state_invoice" id="id_state_invoice"> <option value="">-</option> </select> </p> {/if} <p class="textarea is_customer_param"> <label for="other_invoice">{l s='Additional information'}</label> <textarea name="other_invoice" id="other_invoice" cols="26" rows="3"></textarea> </p> {if isset($one_phone_at_least) && $one_phone_at_least} <p class="inline-infos required">{l s='You must register at least one phone number.'}</p> {/if} <p class="text"> <label for="phone_invoice">{l s='Home phone'}</label> <input type="text" class="text" name="phone_invoice" id="phone_invoice" value="" /> </p> <p class="{if isset($one_phone_at_least) && $one_phone_at_least}required {/if}text is_customer_param"> <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="text" name="phone_mobile_invoice" id="phone_mobile_invoice" value="" /> </p> <input type="hidden" name="alias_invoice" id="alias_invoice" value="{l s='My Invoice address'}" /> </div> {$HOOK_CREATE_ACCOUNT_FORM} <p class="submit"> <input type="submit" class="exclusive button" name="submitAccount" id="submitAccount" value="{l s='Save'}" /> </p> <p style="display: none;" id="opc_account_saved"> {l s='Account information saved successfully'} </p> <p class="required opc-required" style="clear: both;"> <sup>*</sup>{l s='Required field'} </p> <!-- END Account --> </div> </fieldset> </form> <div class="clear"></div> </div> OrderOpcController.php
×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More