default.tpl 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341
  1. {if $checkout} {else}
  2. <script>
  3. // Define state tab index value
  4. var statesTab = 10;
  5. var stateNotRequired = true;
  6. </script>
  7. {include file="orderforms/{$carttpl}/common.tpl"}
  8. <script type="text/javascript" src="{$BASE_PATH_JS}/StatesDropdown.js"></script>
  9. {/if}
  10. <div id="order-standard_cart">
  11. {if $cartitems > 0}
  12. <div class="row">
  13. <div class="col-md-12">
  14. <div class="header-lined">
  15. <h1>{if !$checkout}{$LANG.cartreviewcheckout}{else}{$LANG.orderForm.checkout}{/if}</h1>
  16. {if $checkout}<p>{lang key='orderForm.enterPersonalDetails'}</p>{/if}
  17. </div>
  18. </div>
  19. <div class="col-md-12">
  20. <div class="row ajaxcart_cont">
  21. <div class="col-lg-8 col-xl-9">
  22. {if $checkout} {else}
  23. {if $promoerrormessage}
  24. <div class="alert alert-warning text-center" role="alert">
  25. {$promoerrormessage}
  26. </div>
  27. {elseif $errormessage}
  28. <div class="alert alert-danger" role="alert">
  29. <p>{$LANG.orderForm.correctErrors}:</p>
  30. <ul>
  31. {$errormessage}
  32. </ul>
  33. </div>
  34. {elseif $promotioncode && $rawdiscount eq "0.00"}
  35. <div class="alert alert-info text-center" role="alert">
  36. {$LANG.promoappliedbutnodiscount}
  37. </div>
  38. {elseif $promoaddedsuccess}
  39. <div class="alert alert-success text-center" role="alert">
  40. {$LANG.orderForm.promotionAccepted}
  41. </div>
  42. {/if}
  43. {if $bundlewarnings}
  44. <div class="alert alert-warning" role="alert">
  45. <strong>{$LANG.bundlereqsnotmet}</strong><br />
  46. <ul>
  47. {foreach from=$bundlewarnings item=warning}
  48. <li>{$warning}</li>
  49. {/foreach}
  50. </ul>
  51. </div>
  52. {/if}
  53. {include file="orderforms/$carttpl/includes/viewcart/summary-table.tpl"}
  54. {foreach $gatewaysoutput as $gatewayoutput}
  55. <div class="view-cart-gateway-checkout">
  56. {$gatewayoutput}
  57. </div>
  58. {/foreach}
  59. {if !$themesettings.orderform.nopromobox}
  60. {if $promotioncode}
  61. <div class="view-cart-promotion-code{if $hookOutput} mb-5{else} mb-3{/if}">
  62. <span class="code"><i class="fad fa-tags fa-fw"></i> <strong>{$promotioncode}</strong> - {$promotiondescription}</span>
  63. <span class="remove"><a href="{$WEB_ROOT}/cart.php?a=removepromo" class="btn btn-icon" data-toggle="tooltip" data-placement="top" data-trigger="manual" title="{$LANG.orderForm.removePromotionCode}"><i class="far fa-trash-alt icon-only text-danger"></i></a></span>
  64. </div>
  65. {else}
  66. <form method="post" action="{$WEB_ROOT}/cart.php?a=view">
  67. <div class="card{if $hookOutput} mb-5{else} mb-3{/if}">
  68. <div class="card-body">
  69. <div class="input-group">
  70. <input type="text" name="promocode" id="inputPromotionCode" class="form-control input-lg" placeholder="{lang key="orderPromoCodePlaceholder"}" required="required">
  71. <div class="input-group-append">
  72. <button type="submit" name="validatepromo" class="btn btn-primary" value="{$LANG.orderpromovalidatebutton}">
  73. {$LANG.orderpromovalidatebutton}
  74. </button>
  75. </div>
  76. </div>
  77. </div>
  78. </div>
  79. </form>
  80. {/if}
  81. {/if}
  82. {foreach $hookOutput as $output}
  83. <div>
  84. {$output|replace:"h3":"h4"|replace:'style="margin:20px 0;"':''}
  85. </div>
  86. {/foreach}
  87. {/if}
  88. {if !$checkout}{else}
  89. {include file="orderforms/$carttpl/checkout.tpl"}
  90. {if $servedOverSsl}
  91. <div class="alert alert-warning small mt-4">
  92. <i class="fad fa-lock-alt"></i>&nbsp; {$LANG.ordersecure} (<strong>{$ipaddress}</strong>) {$LANG.ordersecure2}
  93. </div>
  94. {/if}
  95. {/if}
  96. </div>
  97. <div class="col-lg-4 col-xl-3">
  98. <div id="sidebar">
  99. <div class="sidebar__inner blocks cartsummary">
  100. <div class="order-summary">
  101. <div class="loader w-hidden" id="orderSummaryLoader">
  102. <i class="fad fa-circle-notch fa-spin fa-2x"></i>
  103. </div>
  104. <h2><i class="fal fa-shopping-cart text-primary"></i>&nbsp;{$LANG.ordersummary}</h2>
  105. <div class="summary-container-outer">
  106. <div class="summary-container{if $checkout} mb-0{/if}">
  107. <div class="subtotal clearfix">
  108. <span class="pull-left float-left">{$LANG.ordersubtotal}</span>
  109. <span id="subtotal" class="pull-right float-right">{$subtotal}</span>
  110. </div>
  111. {if $promotioncode || $taxrate || $taxrate2}
  112. <div class="bordered-totals">
  113. {if $promotioncode}
  114. <div class="clearfix">
  115. <span class="pull-left float-left">{$promotiondescription}</span>
  116. <span id="discount" class="pull-right float-right">{$discount}</span>
  117. </div>
  118. {/if}
  119. {if $taxrate}
  120. <div class="clearfix">
  121. <span class="pull-left float-left">{$taxname} @ {$taxrate}%</span>
  122. <span id="taxTotal1" class="pull-right float-right">{$taxtotal}</span>
  123. </div>
  124. {/if}
  125. {if $taxrate2}
  126. <div class="clearfix">
  127. <span class="pull-left float-left">{$taxname2} @ {$taxrate2}%</span>
  128. <span id="taxTotal2" class="pull-right float-right">{$taxtotal2}</span>
  129. </div>
  130. {/if}
  131. </div>
  132. {/if}
  133. <div class="recurring-totals clearfix">
  134. <span class="pull-left float-left">{$LANG.orderForm.totals}</span>
  135. <span id="recurring" class="pull-right float-right recurring-charges">
  136. <span id="recurringMonthly" {if !$totalrecurringmonthly}style="display:none;"{/if}>
  137. <span class="cost">{$totalrecurringmonthly}</span> {$LANG.orderpaymenttermmonthly}<br />
  138. </span>
  139. <span id="recurringQuarterly" {if !$totalrecurringquarterly}style="display:none;"{/if}>
  140. <span class="cost">{$totalrecurringquarterly}</span> {$LANG.orderpaymenttermquarterly}<br />
  141. </span>
  142. <span id="recurringSemiAnnually" {if !$totalrecurringsemiannually}style="display:none;"{/if}>
  143. <span class="cost">{$totalrecurringsemiannually}</span> {$LANG.orderpaymenttermsemiannually}<br />
  144. </span>
  145. <span id="recurringAnnually" {if !$totalrecurringannually}style="display:none;"{/if}>
  146. <span class="cost">{$totalrecurringannually}</span> {$LANG.orderpaymenttermannually}<br />
  147. </span>
  148. <span id="recurringBiennially" {if !$totalrecurringbiennially}style="display:none;"{/if}>
  149. <span class="cost">{$totalrecurringbiennially}</span> {$LANG.orderpaymenttermbiennially}<br />
  150. </span>
  151. <span id="recurringTriennially" {if !$totalrecurringtriennially}style="display:none;"{/if}>
  152. <span class="cost">{$totalrecurringtriennially}</span> {$LANG.orderpaymenttermtriennially}<br />
  153. </span>
  154. </span>
  155. </div>
  156. {if $checkout}
  157. <div class="total-due-today total-due-today-padded border-top mt-2" id="totalDueToday" data.newTotal>
  158. <span class="text-muted">{$LANG.ordertotalduetoday}</span>
  159. <span id="totalCartPrice" class="amt">{$total}</span>
  160. </div>
  161. {else}
  162. <div class="total-due-today total-due-today-padded border-top mt-2">
  163. <span class="text-muted">{$LANG.ordertotalduetoday}</span>
  164. <span id="totalDueToday" class="amt">{$total}</span>
  165. </div>
  166. {/if}
  167. </div>
  168. <div class="express-checkout-buttons">
  169. {foreach $expressCheckoutButtons as $checkoutButton}
  170. {$checkoutButton}
  171. <div class="separator">
  172. - {$LANG.or|strtoupper} -
  173. </div>
  174. {/foreach}
  175. </div>
  176. <div class="text-center">
  177. {if $checkout}{else}<a href="{$WEB_ROOT}/cart.php?a=checkout&e=false" class="btn btn-primary btn-block btn-lg btn-checkout{if $cartitems == 0} disabled{/if}" id="checkout">
  178. {$LANG.orderForm.checkout}
  179. <i class="fas fa-arrow-right"></i>
  180. </a>{/if}
  181. </div>
  182. </div>
  183. </div>
  184. </div>
  185. </div>
  186. </div>
  187. </div>
  188. </div>
  189. </div>
  190. {include file="orderforms/$carttpl/recommendations-modal.tpl"}
  191. {else}
  192. <div class="mw-928 mx-auto">
  193. <div class="alert-lg no-data no-border">
  194. <div class="icon">
  195. <i class="fad fa-shopping-cart"></i>
  196. </div>
  197. <div class="text">
  198. <h4>{$LANG.cartempty}</h4>
  199. </div>
  200. <a href="{if $themesettings.orderform.orderopc != ""}order{else}cart{/if}.php" class="btn btn-default" id="continueShopping">
  201. {$LANG.navservicesorder}
  202. </a>
  203. </div>
  204. </div>
  205. {/if}
  206. </div>
  207. <script type="text/javascript" src="{$WEB_ROOT}/templates/orderforms/{$carttpl}/js/ResizeSensor.js"></script>
  208. <script type="text/javascript" src="{$WEB_ROOT}/templates/orderforms/{$carttpl}/js/jquery.sticky-sidebar.min.js"></script>
  209. <script>
  210. jQuery('#sidebar').stickySidebar({
  211. topSpacing: 90,
  212. bottomSpacing: 60,
  213. minWidth: 992,
  214. containerSelector: '.ajaxcart_cont',
  215. innerWrapperSelector: '.sidebar__inner'
  216. });
  217. </script>
  218. <form method="post" action="{$WEB_ROOT}/cart.php">
  219. <input type="hidden" name="a" value="remove" />
  220. <input type="hidden" name="r" value="" id="inputRemoveItemType" />
  221. <input type="hidden" name="i" value="" id="inputRemoveItemRef" />
  222. <input type="hidden" name="rt" value="" id="inputRemoveItemRenewalType">
  223. <div class="modal fade modal-remove-item" id="modalRemoveItem" tabindex="-1" role="dialog">
  224. <div class="modal-dialog modal-dialog-centered" role="document">
  225. <div class="modal-content">
  226. <div class="modal-header d-block">
  227. <h4 class="modal-title">
  228. <button type="button" class="close" data-dismiss="modal" aria-label="{$LANG.orderForm.close}">
  229. <span aria-hidden="true">&times;</span>
  230. </button>
  231. <span>{lang key='orderForm.removeItem'}</span>
  232. </h4>
  233. </div>
  234. <div class="modal-body">
  235. {$LANG.cartremoveitemconfirm}
  236. </div>
  237. <div class="modal-footer">
  238. <button type="button" class="btn btn-default" data-dismiss="modal">{$LANG.no}</button>
  239. <button type="submit" class="btn btn-primary">{$LANG.yes}</button>
  240. </div>
  241. </div>
  242. </div>
  243. </div>
  244. </form>
  245. <form method="post" action="{$WEB_ROOT}/cart.php">
  246. <input type="hidden" name="a" value="empty" />
  247. <div class="modal fade modal-remove-item" id="modalEmptyCart" tabindex="-1" role="dialog">
  248. <div class="modal-dialog modal-dialog-centered" role="document">
  249. <div class="modal-content">
  250. <div class="modal-header d-block">
  251. <h4 class="modal-title">
  252. <button type="button" class="close" data-dismiss="modal" aria-label="{$LANG.orderForm.close}">
  253. <span aria-hidden="true">&times;</span>
  254. </button>
  255. <span>{$LANG.emptycart}</span>
  256. </h4>
  257. </div>
  258. <div class="modal-body">
  259. {$LANG.cartemptyconfirm}
  260. </div>
  261. <div class="modal-footer">
  262. <button type="button" class="btn btn-default" data-dismiss="modal">{$LANG.no}</button>
  263. <button type="submit" class="btn btn-primary">{$LANG.yes}</button>
  264. </div>
  265. </div>
  266. </div>
  267. </div>
  268. </form>
  269. {if $taxenabled && !$loggedin}
  270. <form method="post" action="{$WEB_ROOT}/cart.php?a=setstateandcountry">
  271. <div class="modal fade" id="estimate-taxes">
  272. <div class="modal-dialog modal-dialog-centered">
  273. <div class="modal-content">
  274. <div class="modal-header d-block">
  275. <h4 class="modal-title">
  276. <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  277. <span aria-hidden="true">&times;</span>
  278. </button>
  279. <span>{$LANG.orderForm.estimateTaxes}</span>
  280. </h4>
  281. </div>
  282. <div class="modal-body">
  283. <div class="row">
  284. <div class="col-12">
  285. <div class="form-group">
  286. <label for="inputCountry2" class="control-label">{$LANG.orderForm.country}</label>
  287. <select name="country" id="inputCountry2" class="form-control">
  288. {foreach $countries as $countrycode => $countrylabel}
  289. <option value="{$countrycode}" {if (!$country && $countrycode==$defaultcountry) || $countrycode eq $country} selected{/if}>
  290. {$countrylabel}
  291. </option>
  292. {/foreach}
  293. </select>
  294. </div>
  295. </div>
  296. <div class="col-12">
  297. <div class="form-group">
  298. <label for="inputState2" class="control-label">{$LANG.orderForm.state}</label>
  299. <input type="text" name="state" id="inputState2" value="{$clientsdetails.state}" class="form-control" {if $loggedin} disabled="disabled" {/if} />
  300. </div>
  301. </div>
  302. </div>
  303. </div>
  304. <div class="modal-footer">
  305. <button type="submit" class="btn btn-primary">
  306. <span>{$LANG.orderForm.updateTotals}</span>
  307. </button>
  308. <button type="button" class="btn btn-default" data-dismiss="modal">{$LANG.orderForm.cancel}</button>
  309. </div>
  310. </div>
  311. </div>
  312. </div>
  313. </form>
  314. {/if}