PageRenderTime 45ms CodeModel.GetById 8ms RepoModel.GetById 0ms app.codeStats 0ms

/themes/euvapor/euvapor/order-address.tpl

https://gitlab.com/ptisky/API_prestashop
Smarty Template | 267 lines | 210 code | 27 blank | 30 comment | 19 complexity | 1fc231c72bf945cf57b6cd332d77c7bf MD5 | raw file
  1. {*
  2. * 2007-2013 PrestaShop
  3. *
  4. * NOTICE OF LICENSE
  5. *
  6. * This source file is subject to the Academic Free License (AFL 3.0)
  7. * that is bundled with this package in the file LICENSE.txt.
  8. * It is also available through the world-wide-web at this URL:
  9. * http://opensource.org/licenses/afl-3.0.php
  10. * If you did not receive a copy of the license and are unable to
  11. * obtain it through the world-wide-web, please send an email
  12. * to license@prestashop.com so we can send you a copy immediately.
  13. *
  14. * DISCLAIMER
  15. *
  16. * Do not edit or add to this file if you wish to upgrade PrestaShop to newer
  17. * versions in the future. If you wish to customize PrestaShop for your
  18. * needs please refer to http://www.prestashop.com for more information.
  19. *
  20. * @author PrestaShop SA <contact@prestashop.com>
  21. * @copyright 2007-2013 PrestaShop SA
  22. * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
  23. * International Registered Trademark & Property of PrestaShop SA
  24. *}
  25. {if $opc}
  26. {assign var="back_order_page" value="order-opc.php"}
  27. {else}
  28. {assign var="back_order_page" value="order.php"}
  29. {/if}
  30. {*
  31. ** Retro compatibility for PrestaShop version < 1.4.2.5 with a recent theme
  32. ** Syntax smarty for v2
  33. *}
  34. {* Will be deleted for 1.5 version and more *}
  35. {if !isset($formatedAddressFieldsValuesList)}
  36. {$ignoreList.0 = "id_address"}
  37. {$ignoreList.1 = "id_country"}
  38. {$ignoreList.2 = "id_state"}
  39. {$ignoreList.3 = "id_customer"}
  40. {$ignoreList.4 = "id_manufacturer"}
  41. {$ignoreList.5 = "id_supplier"}
  42. {$ignoreList.6 = "date_add"}
  43. {$ignoreList.7 = "date_upd"}
  44. {$ignoreList.8 = "active"}
  45. {$ignoreList.9 = "deleted"}
  46. {* PrestaShop 1.4.0.17 compatibility *}
  47. {if isset($addresses)}
  48. {foreach from=$addresses key=k item=address}
  49. {counter start=0 skip=1 assign=address_key_number}
  50. {$id_address = $address.id_address}
  51. {foreach from=$address key=address_key item=address_content}
  52. {if !in_array($address_key, $ignoreList)}
  53. {$formatedAddressFieldsValuesList.$id_address.ordered_fields.$address_key_number = $address_key}
  54. {$formatedAddressFieldsValuesList.$id_address.formated_fields_values.$address_key = $address_content}
  55. {counter}
  56. {/if}
  57. {/foreach}
  58. {/foreach}
  59. {/if}
  60. {/if}
  61. <script type="text/javascript">
  62. // <![CDATA[
  63. {if !$opc}
  64. var orderProcess = 'order';
  65. var currencySign = '{$currencySign|html_entity_decode:2:"UTF-8"}';
  66. var currencyRate = '{$currencyRate|floatval}';
  67. var currencyFormat = '{$currencyFormat|intval}';
  68. var currencyBlank = '{$currencyBlank|intval}';
  69. var txtProduct = "{l s='product' js=1}";
  70. var txtProducts = "{l s='products' js=1}";
  71. {/if}
  72. var addressMultishippingUrl = "{$link->getPageLink('address', true, NULL, "back={$back_order_page}?step=1{'&multi-shipping=1'|urlencode}{if $back}&mod={$back|urlencode}{/if}")|addslashes}";
  73. var addressUrl = "{$link->getPageLink('address', true, NULL, "back={$back_order_page}?step=1{if $back}&mod={$back}{/if}")|addslashes}";
  74. var formatedAddressFieldsValuesList = new Array();
  75. {foreach from=$formatedAddressFieldsValuesList key=id_address item=type}
  76. formatedAddressFieldsValuesList[{$id_address}] =
  77. {ldelim}
  78. 'ordered_fields':[
  79. {foreach from=$type.ordered_fields key=num_field item=field_name name=inv_loop}
  80. {if !$smarty.foreach.inv_loop.first},{/if}{$field_name|json_encode}
  81. {/foreach}
  82. ],
  83. 'formated_fields_values':{ldelim}
  84. {foreach from=$type.formated_fields_values key=pattern_name item=field_name name=inv_loop}
  85. {if !$smarty.foreach.inv_loop.first},{/if}{$pattern_name|json_encode}:{$field_name|json_encode}
  86. {/foreach}
  87. {rdelim}
  88. {rdelim}
  89. {/foreach}
  90. function getAddressesTitles()
  91. {
  92. return {
  93. 'invoice': "{l s='Your billing address' js=1}",
  94. 'delivery': "{l s='Your delivery address' js=1}"
  95. };
  96. }
  97. function buildAddressBlock(id_address, address_type, dest_comp)
  98. {
  99. if (isNaN(id_address))
  100. return;
  101. var adr_titles_vals = getAddressesTitles();
  102. var li_content = formatedAddressFieldsValuesList[id_address]['formated_fields_values'];
  103. var ordered_fields_name = ['title'];
  104. ordered_fields_name = ordered_fields_name.concat(formatedAddressFieldsValuesList[id_address]['ordered_fields']);
  105. ordered_fields_name = ordered_fields_name.concat(['update']);
  106. dest_comp.html('');
  107. li_content['title'] = adr_titles_vals[address_type];
  108. li_content['update'] = '<a href="{$link->getPageLink('address', true, NULL, "id_address")|addslashes}'+id_address+'&amp;back={$back_order_page}?step=1{if $back}&mod={$back}{/if}" title="{l s='Update' js=1}">&raquo; {l s='Update' js=1}</a>';
  109. appendAddressList(dest_comp, li_content, ordered_fields_name);
  110. }
  111. function appendAddressList(dest_comp, values, fields_name)
  112. {
  113. for (var item in fields_name)
  114. {
  115. var name = fields_name[item];
  116. var value = getFieldValue(name, values);
  117. if (value != "")
  118. {
  119. var new_li = document.createElement('li');
  120. new_li.className = 'address_'+ name;
  121. new_li.innerHTML = getFieldValue(name, values);
  122. dest_comp.append(new_li);
  123. }
  124. }
  125. }
  126. function getFieldValue(field_name, values)
  127. {
  128. var reg=new RegExp("[ ]+", "g");
  129. var items = field_name.split(reg);
  130. var vals = new Array();
  131. for (var field_item in items)
  132. {
  133. items[field_item] = items[field_item].replace(",", "");
  134. vals.push(values[items[field_item]]);
  135. }
  136. return vals.join(" ");
  137. }
  138. //]]>
  139. </script>
  140. <div id="bady">
  141. {if !$opc}
  142. {capture name=path}{l s='Addresses'}{/capture}
  143. {include file="$tpl_dir./breadcrumb.tpl"}
  144. {/if}
  145. {if !$opc}<h1>{l s='Addresses'}</h1>{else}<h2><span>1</span> {l s='Addresses'}</h2>{/if}
  146. {if !$opc}
  147. {assign var='current_step' value='address'}
  148. {include file="$tpl_dir./order-steps.tpl"}
  149. {include file="$tpl_dir./errors.tpl"}
  150. {if !$multi_shipping && {Configuration::get('PS_ALLOW_MULTISHIPPING')} && !$cart->isVirtualCart()}
  151. <div class="button_multishipping_mode" id="multishipping_mode_box">
  152. <div class="title">{l s='Multi-shipping'}</div>
  153. <div class="description">
  154. <a href="{$link->getPageLink('order', true, NULL, 'step=1&multi-shipping=1')|escape:'html'}"/>
  155. {l s='Specify a delivery address for each product ordered.'}
  156. </a>
  157. </div>
  158. </div>
  159. {/if}
  160. <form action="{$link->getPageLink($back_order_page, true)|escape:'html'}" method="post">
  161. {else}
  162. {if {Configuration::get('PS_ALLOW_MULTISHIPPING')} && !$cart->isVirtualCart()}
  163. <div class="address-form-multishipping">
  164. <div class="button_multishipping_mode" id="multishipping_mode_box">
  165. <div class="title">{l s='Multi-shipping'}</div>
  166. <div class="description">
  167. <input type="checkbox" id="multishipping_mode_checkbox" onchange="multishippingMode(this); return false;" autocomplete="off"/><label for="multishipping_mode_checkbox">{l s='I\'d like to specify a delivery address for each product ordered.'}</label>
  168. </div>
  169. <div class="description_off">
  170. <a href="{$link->getPageLink('order-opc', true, NULL, 'ajax=1&multi-shipping=1&method=multishipping')|escape:'html'}" id="link_multishipping_form" title="{l s='Choose the delivery address(es)'}">
  171. {l s='Specify a delivery address for each product.'}
  172. </a>
  173. </div>
  174. </div>
  175. <script type="text/javascript">
  176. {if $is_multi_address_delivery}
  177. var multishipping_mode = true;
  178. {else}
  179. var multishipping_mode = false;
  180. {/if}
  181. var open_multishipping_fancybox = {$open_multishipping_fancybox|intval};
  182. </script>
  183. </div>
  184. {/if}
  185. <div id="opc_account" class="opc-main-block">
  186. <div id="opc_account-overlay" class="opc-overlay" style="display: none;"></div>
  187. {/if}
  188. <div class="addresses clearfix">
  189. <p class="address_delivery select">
  190. <label for="id_address_delivery">{if $cart->isVirtualCart()}{l s='Choose a billing address:'}{else}{l s='Choose a delivery address:'}{/if}</label>
  191. <select name="id_address_delivery" id="id_address_delivery" class="address_select" onchange="updateAddressesDisplay();{if $opc}updateAddressSelection();{/if}">
  192. {foreach from=$addresses key=k item=address}
  193. <option value="{$address.id_address|intval}" {if $address.id_address == $cart->id_address_delivery}selected="selected"{/if}>{$address.alias|escape:'htmlall':'UTF-8'}</option>
  194. {/foreach}
  195. </select>
  196. </p>
  197. <p class="checkbox addressesAreEquals" {if $cart->isVirtualCart()}style="display:none;"{/if}>
  198. <input type="checkbox" name="same" id="addressesAreEquals" value="1" onclick="updateAddressesDisplay();{if $opc}updateAddressSelection();{/if}"{if $cart->id_address_invoice == $cart->id_address_delivery || $addresses|@count == 1} checked="checked"{/if} autocomplete="off"/>
  199. <label for="addressesAreEquals">{l s='Use the delivery address as the billing address.'}</label>
  200. </p>
  201. <p id="address_invoice_form" class="select" {if $cart->id_address_invoice == $cart->id_address_delivery}style="display: none;"{/if}>
  202. {if $addresses|@count > 1}
  203. <label for="id_address_invoice" class="strong">{l s='Choose a billing address:'}</label>
  204. <select name="id_address_invoice" id="id_address_invoice" class="address_select" onchange="updateAddressesDisplay();{if $opc}updateAddressSelection();{/if}">
  205. {section loop=$addresses step=-1 name=address}
  206. <option value="{$addresses[address].id_address|intval}" {if $addresses[address].id_address == $cart->id_address_invoice && $cart->id_address_delivery != $cart->id_address_invoice}selected="selected"{/if}>{$addresses[address].alias|escape:'htmlall':'UTF-8'}</option>
  207. {/section}
  208. </select>
  209. {else}
  210. <a style="margin-left: 221px;" href="{$link->getPageLink('address', true, NULL, "back={$back_order_page}?step=1&select_address=1{if $back}&mod={$back}{/if}")|escape:'html'}" title="{l s='Add'}" class="button_large">{l s='Add a new address'}</a>
  211. {/if}
  212. </p>
  213. <div class="clearfix">
  214. <ul class="address item" id="address_delivery" {if $cart->isVirtualCart()}style="display:none;"{/if}>
  215. </ul>
  216. <ul class="address alternate_item {if $cart->isVirtualCart()}full_width{/if}" id="address_invoice">
  217. </ul>
  218. </div>
  219. <p class="address_add submit">
  220. <a href="{$link->getPageLink('address', true, NULL, "back={$back_order_page}?step=1{if $back}&mod={$back}{/if}")|escape:'html'}" title="{l s='Add'}" class="button_large">{l s='Add a new address'}</a>
  221. </p>
  222. {if !$opc}
  223. <div id="ordermsg" class="clearfix">
  224. <p class="txt">{l s='If you would like to add a comment about your order, please write it in the field below.'}</p>
  225. <p class="textarea"><textarea cols="60" rows="3" name="message">{if isset($oldMessage)}{$oldMessage}{/if}</textarea></p>
  226. </div>
  227. {/if}
  228. </div>
  229. {if !$opc}
  230. <p class="cart_navigation submit">
  231. <input type="hidden" class="hidden" name="step" value="2" />
  232. <input type="hidden" name="back" value="{$back}" />
  233. <a href="{$link->getPageLink($back_order_page, true, NULL, "step=0{if $back}&back={$back}{/if}")|escape:'html'}" title="{l s='Previous'}" class="buttone_large">&laquo; {l s='Previous'}</a>
  234. <input type="submit" name="processAddress" value="{l s='Next'} &raquo;" class="exclusive" />
  235. </p>
  236. </form>
  237. {else}
  238. </div>
  239. {/if}
  240. </div>