products.tpl 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369
  1. {include file="orderforms/{$carttpl}/common.tpl"}
  2. <!-- Start of Template: orderforms/thurdata/products.tpl -->
  3. {if count($products) < 4}
  4. <style rel="stylesheet" type="text/css">
  5. @media (min-width: 1400px) {
  6. #order-clouder {
  7. {if count($products) == 1}
  8. margin: 0 auto; max-width: 25%; width: 25%;
  9. {elseif count($products) == 2}
  10. margin: 0 auto; max-width: 50%; width: 50%;
  11. {elseif count($products) == 3}
  12. margin: 0 auto; max-width: 75%; width: 75%;
  13. {else}
  14. {/if}
  15. }
  16. }
  17. @media (min-width: 992px) and (max-width: 1399px) {
  18. #order-clouder {
  19. {if count($products) == 1}
  20. margin: 0 auto; max-width: 33%; width: 33%;
  21. {elseif count($products) == 2}
  22. margin: 0 auto; max-width: 75%; width: 75%;
  23. {else}
  24. {/if}
  25. }
  26. }
  27. </style>
  28. {/if}
  29. {if file_exists("templates/orderforms/{$carttpl}/layouts/head.tpl")}
  30. {include file="templates/orderforms/{$carttpl}/layouts/head.tpl"}
  31. {/if}
  32. <div id="order-standard_cart">
  33. <div class="row">
  34. <div class="col-md-12">
  35. {if file_exists("templates/orderforms/{$carttpl}/layouts/head.tpl")}
  36. {else}
  37. <div class="header-lined">
  38. <h1>
  39. {$productGroup.name}
  40. </h1>
  41. {if $productGroup.headline}
  42. <h4 class="text-muted">{$productGroup.headline}</h4>
  43. {/if}
  44. {if $productGroup.tagline}
  45. <p class="text-muted">{$productGroup.tagline}</p>
  46. {/if}
  47. </div>
  48. {/if}
  49. <div class="TM-categories-options justify-content-center" style="padding-bottom:20px">
  50. <form>
  51. <select name="gid" id="gidForm" onchange="javascript:redirectToCartPage()" class="form-control">
  52. <optgroup label="Product Categories">
  53. {foreach key=num item=productgroup from=$productgroups}
  54. <option value="{$productgroup.routePath}"{if $gid eq $productgroup.gid} selected="selected"{/if}>{$productgroup.name}</option>
  55. {/foreach}
  56. </optgroup>
  57. <optgroup label="Actions">
  58. {if $loggedin}
  59. <option value="{$WEB_ROOT}/cart.php?gid=addons"{if $gid eq "addons"} selected{/if}>{$LANG.cartproductaddons}</option>
  60. {if $renewalsenabled}
  61. <option value="{$WEB_ROOT}/cart.php?gid=renewals"{if $gid eq "renewals"} selected{/if}>{$LANG.domainrenewals}</option>
  62. {/if}
  63. {/if}
  64. {if $registerdomainenabled}
  65. <option value="{$WEB_ROOT}/cart.php?gid=registerdomain"{if $domain eq "register"} selected{/if}>{$LANG.navregisterdomain}</option>
  66. {/if}
  67. {if $transferdomainenabled}
  68. <option value="{$WEB_ROOT}/cart.php?gid=transferdomain"{if $domain eq "transfer"} selected{/if}>{$LANG.transferinadomain}</option>
  69. {/if}
  70. <option value="{$WEB_ROOT}/cart.php?a=view"{if $action eq "view"} selected{/if}>{$LANG.viewcart}</option>
  71. </optgroup>
  72. </select>
  73. </form>
  74. <br />
  75. <br />
  76. </div>
  77. {if $errormessage}
  78. <div class="alert alert-danger">
  79. {$errormessage}
  80. </div>
  81. {elseif !$productGroup}
  82. <div class="alert alert-info">
  83. {lang key='orderForm.selectCategory'}
  84. </div>
  85. {/if}
  86. </div>
  87. <style>
  88. .flickity-button:hover {
  89. background-color: #0273d4;
  90. color:white;
  91. }
  92. .flickity-slider {
  93. height: 100%;
  94. min-height: 100%;
  95. }
  96. .flickity-slider > div {
  97. min-height: 100%;
  98. }
  99. .flickity-page-dots {
  100. position: relative;
  101. top: 30px;
  102. }
  103. .carousel-cell {
  104. height: 100%
  105. }
  106. .prefix {
  107. font-size:150%;
  108. font-family: Roboto;
  109. }
  110. .cost {
  111. font-size:250%;
  112. font-family: Roboto;
  113. font-weight:800;
  114. }
  115. .suffix {
  116. font-size:250%;
  117. font-weight:600;
  118. }
  119. .cycle {
  120. font-size:150%;
  121. font-family: Roboto;
  122. }
  123. </style>
  124. <div class="col-md-12">
  125. <div id="order-clouder" style="max-width:unset;width:unset;">
  126. <!-- <div id="products" class="cros-pricing-container"> -->
  127. {if $products|@count < 3}
  128. <div class="carousel" style="position:absolute;top:0px;left:0px;bottom:0px;right:0px;" data-flickity='{ "groupCells": true, "adaptiveHeight": true, "autoPlay": false, "prevNextButtons": false, "pageDots": false }'>
  129. {else}
  130. <div class="carousel" style="position:absolute;top:0px;left:0px;bottom:0px;right:0px;" data-flickity='{ "groupCells": true, "adaptiveHeight": true, "autoPlay": false }'>
  131. {/if}
  132. {foreach $products as $key => $product}
  133. <div class="carousell-cell" style="width:325px;height:100%;margin-right:25px;padding-left:20px;padding-right:20px;padding-bottom:20px;border:1px solid silver;border-radius:8px;" id="product{$product@iteration}">
  134. <!-- <div class="carousell-cell" style="width:325px;height:100% !important; margin-right:25px;border:1px solid silver;border-radius:8px;" id="product{$product@iteration}"> -->
  135. <table border="0" style="display: inline-table; table-layout:fixed; width:100%; visibility:visible;" cellpadding="0" cellspacing="5">
  136. <tr style="height:140px;">
  137. <td valign="top" style="max-height:140px !important;"> <!-- Title and description -->
  138. <!-- <div style="overflow:hidden;max-height:140px !important;"> -->
  139. <!-- Class defined in Custom CSS of Croster Panel -->
  140. <div class="producttitlediv">
  141. <h4 id="product{$product@iteration}-name" style="font-weight:700; font-family:Roboto; color:#2368AD;">{$product.name}</h4>
  142. {if $product.featuresdesc}
  143. {$product.featuresdesc}
  144. {else}
  145. <br />
  146. {/if}
  147. </div>
  148. </td>
  149. </tr>
  150. {if $product.bid}
  151. <tr>
  152. <td> <!-- Price Simple -->
  153. {$LANG.bundledeal}
  154. {if $product.displayprice}
  155. <span class="text-secondary bolder" style="font-size: 33px;">{$product.displayPriceSimple}</span>
  156. {/if}
  157. </td>
  158. </tr>
  159. {/if}
  160. <tr style="height:60px;">
  161. <td> <!-- Price -->
  162. {if $product.bid}
  163. {elseif $product.pricing.minprice.price->toNumeric() == 0.00}
  164. <mark style="font-size:160%;background-color:#2368AD;">{$LANG.orderfree}</mark>
  165. {elseif $product.paytype eq "onetime"}
  166. <span>{$product.pricing.onetime} </span>{$LANG.orderpaymenttermonetime}
  167. {else}
  168. {*
  169. {if $product.pricing.hasconfigoptions}
  170. {$LANG.from}
  171. {/if}
  172. *}
  173. {assign var="ccurrency" value=$product.pricing.minprice.price->getCurrency()}
  174. <span class="prefix" style="color:#2368AD;">{$ccurrency["prefix"]}</span>&nbsp;
  175. <span class="cost" style="color:#2368AD;">{$product.pricing.minprice.price->toNumeric()}</span>&nbsp;
  176. <span class="suffix" style="color:#2368AD;" >{$ccurrency["suffix"]}</span>
  177. <span class="cycle">
  178. {if $product.pricing.minprice.cycle eq "monthly"}
  179. /{$LANG.pricingCycleShort.monthly}
  180. {elseif $product.pricing.minprice.cycle eq "quarterly"}
  181. /{$LANG.pricingCycleShort.quarterly}
  182. {elseif $product.pricing.minprice.cycle eq "semiannually"}
  183. /{$LANG.pricingCycleShort.semiannually}
  184. {elseif $product.pricing.minprice.cycle eq "annually"}
  185. /{$LANG.pricingCycleShort.annually}
  186. {elseif $product.pricing.minprice.cycle eq "biennially"}
  187. /{$LANG.pricingCycleShort.biennially}
  188. {elseif $product.pricing.minprice.cycle eq "triennially"}
  189. /{$LANG.pricingCycleShort.triennially}
  190. {/if}
  191. </span>
  192. {/if}
  193. {if $product.pricing.minprice.setupFee}
  194. <div class="small text-muted">({$product.pricing.minprice.setupFee->toPrefixed()} {$LANG.ordersetupfee})</div>
  195. {/if}
  196. </td>
  197. </tr>
  198. <!-- <tr> <td> <br /></td> </tr> -->
  199. <tr>
  200. <td> <!-- Product Details -->
  201. <table class="plan-features collapse" id="PlanLists1" style="display:unset;">
  202. {foreach from=$product.features key=feature item=value}
  203. <tr>
  204. <td style="padding-right: 13px;"><b>{$feature}:</b></td>
  205. <td>
  206. {if $value == "Ja"}
  207. <i class="far fa-check-square" style="font-size:14px"></i>
  208. {elseif $value == "Nein"}
  209. <i class="far fa-square" style="font-size:14px"></i>
  210. {elseif $value == "Optional"}
  211. <i class="fas fa-plus" style="font-size:14px"></i>
  212. {else}
  213. {$value}
  214. {/if}
  215. </td>
  216. </tr>
  217. {/foreach}
  218. </table>
  219. {*
  220. <ul class="plan-features collapse" id="PlanLists1">
  221. {foreach from=$product.features key=feature item=value}
  222. <li>TD {$feature} <b>{$value}</b></li>
  223. {/foreach}
  224. </ul>
  225. *}
  226. {if $product.isFeatured}
  227. <!-- Popular plan sticker -->
  228. <div class="sticker-wrapper">
  229. <div class="sticker">
  230. {$LANG.featuredProduct}
  231. </div>
  232. </div>
  233. <!-- //End popular plan sticker-->
  234. {/if}
  235. </td>
  236. </tr>
  237. </table>
  238. {if ($product.pricing.minprice.price->toNumeric() == 0.00) && ((count($clientActiveFree) + count($clientCardFree)) > (1 + $clientsdetails.notes|strstr:"AddTrials="|truncate:11:""|replace:"AddTrials=":""))}
  239. <a href="{$WEB_ROOT}/submitticket.php?step=2&deptid=1&subject={$LANG.moretrials} {$product.name}" class="btn btn-primary btn-block" style="position:absolute; left:20px; bottom:10px; right:20px; height:40px; width:unset;padding-top:6.5px;">
  240. {$LANG.request}
  241. </a>
  242. {elseif ($product.pricing.minprice.price->toNumeric() == 0.00) && in_array($product.pid, $clientPids && !in_array($product.pid, $clientActiveFree))}
  243. <a href="{$WEB_ROOT}/submitticket.php?step=2&deptid=1&subject={$LANG.tryagain} {$product.name}" class="btn btn-primary btn-block" style="position:absolute; left:20px; bottom:10px; right:20px; height:40px; width:unset;padding-top:6.5px;">
  244. {$LANG.tryagain}
  245. </a>
  246. {elseif ($product.pricing.minprice.price->toNumeric() == 0.00) && in_array($product.pid, $clientCardFree)}
  247. <a class="btn btn-primary btn-block" style="position:absolute; left:20px; bottom:10px; right:20px; height:40px; width:unset;padding-top:6.5px;pointer-events:none;">
  248. {$LANG.alreadyincard}
  249. </a>
  250. {else}
  251. <a href="{$WEB_ROOT}/cart.php?a=add&{if $product.bid}bid={$product.bid}{else}pid={$product.pid}{/if}" class="btn btn-primary btn-block" style="position:absolute; left:20px; bottom:10px; right:20px; height:40px; width:unset;padding-top:6.5px;" id="product{$product@iteration}-order-button">
  252. {$LANG.ordernowbutton}
  253. </a>
  254. {/if}
  255. </table>
  256. </div>
  257. {/foreach}
  258. </div>
  259. <!-- </div> -->
  260. </div>
  261. {if count($productGroup.features) > 0}
  262. <div class="space-30"></div>
  263. <div class="block-s3">
  264. <div class="text-center">
  265. <h2 class="no-margin">{$LANG.orderForm.includedWithPlans}</h2>
  266. </div>
  267. </div>
  268. <hr class="separator"></hr>
  269. <div class="cart-features no-margin-top">
  270. <div class="includes-features">
  271. <ul class="list-features">
  272. {foreach $productGroup.features as $features}
  273. <li>{$features.feature}</li>
  274. {/foreach}
  275. </ul>
  276. </div>
  277. </div>
  278. {/if}
  279. </div>
  280. </div>
  281. </div>
  282. {if file_exists("templates/orderforms/{$carttpl}/layouts/foot.tpl")}
  283. {include file="templates/orderforms/{$carttpl}/layouts/foot.tpl"}
  284. {/if}
  285. <script type="text/javascript">
  286. $(document).ready(function() {
  287. $(".pricing-box").owlCarousel({
  288. {if count($products) == 1}
  289. responsive:{
  290. 0:{
  291. items:1,
  292. }
  293. }
  294. {elseif count($products) == 2}
  295. responsive:{
  296. 0:{
  297. items:1,
  298. },
  299. 768:{
  300. items:2,
  301. }
  302. }
  303. {elseif count($products) == 3}
  304. responsive:{
  305. 0:{
  306. items:1,
  307. },
  308. 768:{
  309. items:2,
  310. },
  311. 992:{
  312. items:3,
  313. }
  314. }
  315. {else}
  316. responsive:{
  317. 0:{
  318. items:1,
  319. },
  320. 768:{
  321. items:2,
  322. },
  323. 992:{
  324. items:3,
  325. },
  326. 1200:{
  327. items:4,
  328. }
  329. }
  330. {/if}
  331. });
  332. });
  333. function redirectToCartPage()
  334. {
  335. var path = jQuery('#gidForm').val();
  336. if (path) {
  337. window.location.href = path;
  338. }
  339. }
  340. </script>
  341. <!-- End of Template: orderforms/thurdata/products.tpl -->