products.tpl 12 KB

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