PageRenderTime 26ms CodeModel.GetById 23ms RepoModel.GetById 0ms app.codeStats 0ms

/magazine/Pages/Product.php

https://gitlab.com/mvcarvalho/plataforma-e-commerce
PHP | 235 lines | 209 code | 25 blank | 1 comment | 20 complexity | 3cba0bbe4f7aeb6459cab3e21560b406 MD5 | raw file
  1. <?php
  2. $productLink = SITE_URL . 'produto/' . $this->pageItems['product']->id . '/' . strtolower(StringUtils::clean($this->pageItems['product']->name));
  3. $shareName = SITE_NAME . ' - ' . $this->pageItems['product']->name;
  4. ?>
  5. <div class="row">
  6. <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 product-view">
  7. <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
  8. <h4 class="top-name"><?php echo($this->pageItems['product']->name);?></h4>
  9. <div class="fb-like" data-href="<?php echo($productLink);?>" data-layout="button_count" data-action="like" data-show-faces="false" data-share="false"></div>
  10. </div>
  11. <!-- IMAGENS -->
  12. <div class="col-lg-6 col-md-6 col-sm-6 col-xs-12 images">
  13. <div class="col-lg-2 col-md-2 col-sm-3 col-xs-12 product-thumbs" style="padding: 5px 0;">
  14. <?php if($this->pageItems['product']->image != ""){?>
  15. <div class="col-lg-12 col-md-12 col-sm-12 col-xs-3" style="padding: 1px;">
  16. <a href="<?php echo(PRODUCTS_IMAGES_URL . $this->pageItems['product']->image);?>"><img class="img-responsive thumbs" src="<?php echo(PRODUCTS_IMAGES_URL . $this->pageItems['product']->image);?>" /></a>
  17. </div>
  18. <?php }?>
  19. <?php foreach($this->pageItems['product']->extraImages as $img){?>
  20. <div class="col-lg-12 col-md-12 col-sm-12 col-xs-3" style="padding: 1px;">
  21. <a href="<?php echo(PRODUCTS_IMAGES_URL . $img);?>"><img class="img-responsive thumbs" src="<?php echo(PRODUCTS_IMAGES_URL . $img);?>" /></a>
  22. </div>
  23. <?php }?>
  24. </div>
  25. <div class="col-lg-10 col-md-10 col-sm-9 col-xs-12" style="padding: 0;">
  26. <img id="showingImg" src="<?php
  27. if($this->pageItems['product']->image == "" || empty($this->pageItems['product']->image)){
  28. echo(PRODUCTS_IMAGES_URL . 'no-image.png');
  29. }else{
  30. echo(PRODUCTS_IMAGES_URL . $this->pageItems['product']->image);
  31. }
  32. ?>" class="img-responsive showing" alt="<?php echo($this->pageItems['product']->name);?>">
  33. </div>
  34. </div>
  35. <!-- CONFIGURAÇÕES E INFOS RÁPIDAS -->
  36. <div class="col-lg-6 col-md-6 col-sm-6 col-xs-12 configurations">
  37. <form method="post" action="<?php echo(SITE_URL . 'cart' . DS . 'add' . DS . $this->pageItems['product']->id . DS . '1');?>" id="form-add-to-cart">
  38. <div class="row">
  39. <!-- NOME -->
  40. <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 title"><?php echo($this->pageItems['product']->shortDescription);?></div>
  41. <!-- TEXTO PROMOCIONAL -->
  42. <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 promotional-text"></div>
  43. <!-- OPÇÃO -->
  44. <?php if(count($this->pageItems['product']->attributes) > 0) {?>
  45. <div class="row" style="padding-top: 25px">
  46. <?php foreach($this->pageItems['product']->attributes as $attribute) {?>
  47. <?php if(count($attribute->options) > 0) {?>
  48. <div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
  49. <div class="input-group" style="width: 100%">
  50. <label for="select-<?php echo($attribute->id);?>"><?php echo($attribute->name);?></label>
  51. <select name="select-<?php echo($attribute->id);?>" class="form-control select" style="border-radius: 0">
  52. <option value="0" selected>Selecione</option>
  53. <?php foreach($attribute->options as $option) {?>
  54. <option value="<?php echo($option->id);?>"><?php
  55. if($option->priceChange > 0){
  56. echo($option->name . ' (+R$ ' . number_format($option->priceChange, 2, ',', '.') . ')');
  57. }else if($option->priceChange < 0){
  58. echo($option->name . ' (-R$ ' . number_format($option->priceChange * -1, 2, ',', '.') . ')');
  59. }else{
  60. echo($option->name);
  61. }
  62. ?></option>
  63. <?php }?>
  64. </select>
  65. </div>
  66. </div>
  67. <?php }?>
  68. <?php }?>
  69. </div>
  70. <?php }?>
  71. <?php if(count($this->pageItems['features']) > 0) {?>
  72. <div class="row" style="padding-top: 25px">
  73. <?php foreach($this->pageItems['features'] as $feature) {?>
  74. <div class="col-lg-6 col-md-6 col-sm-12 col-xs-12">
  75. <div class="input-group" style="width: 100%">
  76. <label for="feature-<?php echo($feature->id);?>"><?php echo($feature->name);?></label>
  77. <select name="feature-<?php echo($feature->id);?>" class="form-control select" style="border-radius: 0">
  78. <option value="0" selected>Selecione</option>
  79. <?php foreach($feature->options as $option) {?>
  80. <option value="<?php echo($option->name);?>"><?php echo($option->name);?></option>
  81. <?php }?>
  82. </select>
  83. </div>
  84. </div>
  85. <?php }?>
  86. </div>
  87. <?php }?>
  88. <!-- PREÇO -->
  89. <?php if($this->pageItems['product']->normalPrice > 0){?>
  90. <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 normal-price">de <?php echo(GeneralUtils::getFormattedValue($this->pageItems['product']->normalPrice));?></div>
  91. <?php }?>
  92. <div class="col-lg-6 col-md-6 col-sm-6 col-xs-12" style="padding: 0">
  93. <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 price"><?php echo(GeneralUtils::getFormattedValue($this->pageItems['product']->offerPrice));?></div>
  94. <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 installments"><?php
  95. $inst = GeneralUtils::getMaxInstallments($this->pageItems['product']->offerPrice, MIN_INSTALLMENT_VALUE, MAX_INSTALLMENTS);
  96. echo($inst['installments'] . 'x de ' . GeneralUtils::getFormattedValue($inst['value']) . ' no cartão');
  97. ?></div>
  98. </div>
  99. <div class="col-lg-6 col-md-6 col-sm-6 col-xs-12" style="padding: 0">
  100. <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12" style="padding: 15px 0;">
  101. <div class="col-lg-3 col-md-3 col-sm-3 col-xs-3" style="0;"></div>
  102. <div class="col-lg-9 col-md-9 col-sm-9 col-xs-9" style="0;">
  103. <a href="https://www.facebook.com/sharer/sharer.php?u=<?php echo($productLink);?>" onclick="share(this); return false;" target="_blank" title="<?php echo($shareName);?>">
  104. <img src="<?php echo(SITE_URL . 'Images' . DS . 'facebook.png');?>" class="img-responsive" style="display: inline-block; padding: 3px;">
  105. </a>
  106. <a href="https://twitter.com/home?status=<?php echo($productLink);?>" onclick="share(this); return false;" target="_blank" title="<?php echo($shareName);?>">
  107. <img src="<?php echo(SITE_URL . 'Images' . DS . 'twitter.png');?>" class="img-responsive" style="display: inline-block; padding: 3px;">
  108. </a>
  109. <a href="https://plus.google.com/share?url=<?php echo($productLink);?>" onclick="share(this); return false;" target="_blank" title="<?php echo($shareName);?>">
  110. <img src="<?php echo(SITE_URL . 'Images' . DS . 'google-plus.png');?>" class="img-responsive" style="display: inline-block; padding: 3px;">
  111. </a>
  112. </div>
  113. </div>
  114. </div>
  115. </div>
  116. <!-- COMPRAR -->
  117. <div class="row">
  118. <div class="col-lg-6 col-md-6 col-sm-6 col-xs-6" style="padding-left: 0">
  119. <?php if($this->pageItems['product']->isActive == 1){?>
  120. <input type="submit" class="btn buy" value="comprar" onclick="" style="width: 100%">
  121. <?php }else{?>
  122. <div class="buy uppercase">produto indisponível</div>
  123. <?php }?>
  124. </div>
  125. <div class="col-lg-6 col-md-6 col-sm-6 col-xs-6">
  126. <div class="col-lg-3 col-md-3 col-sm-3 col-xs-3" style="0;"></div>
  127. <div class="col-lg-9 col-md-9 col-sm-9 col-xs-9" style="0;">
  128. <img src="<?php echo(SITE_URL . 'Images' . DS . 'rapid-ssl.png');?>" class="img-responsive" style="display: inline-block; padding: 3px;">
  129. </div>
  130. </div>
  131. </div>
  132. </form>
  133. <!-- SOCIAL - PRODUTO -->
  134. <?php if(false){?>
  135. <div class="row">
  136. <div class="col-lg-3 col-md-2 col-sm-1 col-xs-12"></div>
  137. </div>
  138. <?php }?>
  139. </div>
  140. <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 description">
  141. <div class="tabbable">
  142. <ul class="nav nav-tabs">
  143. <li class="tab active"><a href="#pane1" data-toggle="tab">Descrição do produto</a></li>
  144. <li class="tab"><a href="#pane2" data-toggle="tab">Informações adicionais</a></li>
  145. </ul>
  146. <div class="tab-content">
  147. <div id="pane1" class="tab-pane active">
  148. <div class="description-content"><?php echo($this->pageItems['product']->description);?></div>
  149. </div>
  150. <div id="pane2" class="tab-pane">
  151. <div class="description-content">
  152. <?php echo($this->pageItems['product']->rules);?>
  153. <!-- INFORMAÇÕES RÁPIDAS -->
  154. <?php if(count($this->pageItems['infos']) > 0){?>
  155. <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12">
  156. <div class="col-lg-3 col-md-3 col-sm-2 col-xs-1"></div>
  157. <div class="col-lg-6 col-md-6 col-sm-8 col-xs-10"><h3 style="text-align: center">Informações Rápidas</h3></div>
  158. <div class="col-lg-12 col-md-12 col-sm-12 col-xs-12"></div>
  159. <div class="col-lg-3 col-md-3 col-sm-2 col-xs-1"></div>
  160. <table class="col-lg-6 col-md-6 col-sm-8 col-xs-10">
  161. <?php foreach($this->pageItems['infos'] as $info) {?>
  162. <tr>
  163. <td style="border: 1px solid #000000; padding: 5px; text-align: center; font-weight: bold;" class="info"><?php echo($info->name);?></td>
  164. <td style="border: 1px solid #000000; padding: 5px; text-align: center;" class="info"><?php echo($info->description);?></td>
  165. </tr>
  166. <?php }?>
  167. </table>
  168. </div>
  169. <?php }?>
  170. </div>
  171. </div>
  172. </div><!-- /.tab-content -->
  173. </div><!-- /.tabbable -->
  174. </div>
  175. </div>
  176. <!-- DESCRIÇÃO E REGRAS -->
  177. </div>
  178. <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
  179. <script type="text/javascript">
  180. var selects = document.getElementsByClassName("select");
  181. for(var x = 0; x < selects.length; x++){
  182. //selects[x].selectedIndex = 0;
  183. }
  184. $(document).ready(function(){
  185. $(".product-view .images .product-thumbs a").click(function(){
  186. var largePath = $(this).attr("href");
  187. var largeAlt = $(this).attr("title");
  188. $("#showingImg").attr({ src: largePath, alt: largeAlt });
  189. return false;
  190. });
  191. });
  192. $("#form-add-to-cart").submit(function( event ) {
  193. event.preventDefault();
  194. var allSelected = true;
  195. var selects = document.getElementsByClassName("select");
  196. for(var x = 0; x < selects.length; x++){
  197. if(selects[x].selectedIndex == 0){
  198. allSelected = false;
  199. }
  200. }
  201. if(allSelected){
  202. $("#form-add-to-cart").get(0).submit();
  203. }else{
  204. alert("Selecione todas as opções do produto.");
  205. }
  206. });
  207. function share(button){
  208. window.open(button.href, '', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=400,width=500');
  209. }
  210. </script>