Advertisement
Guest User

system.product.html

a guest
Sep 16th, 2021
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5 9.64 KB | None | 0 0
  1. {strip}
  2. {$_is_dialog = ($wa->get('cart') || waRequest::isXMLHttpRequest())}
  3. {function name=in_stock n=0 low=5 critical=2}
  4.     {if $n > $low or $n === null}
  5.         <div class="stock-info stock">
  6.             <svg class="icon" width="10" height="7">
  7.                 <use xlink:href="#icon-tick"></use>
  8.             </svg>
  9.             <div class="stock-info__text">[`In stock`]</div>
  10.         </div>
  11.     {elseif $n > $critical}
  12.         <div class="stock-info less-stock">
  13.             <svg class="icon" width="10" height="7">
  14.                 <use xlink:href="#icon-tick"></use>
  15.             </svg>
  16.             <div class="stock-info__text">{_w("Only a few items left")}</div>
  17.         </div>
  18.     {elseif $n > 0 && $n != 1}
  19.         <div class="stock-info less-stock">
  20.             <svg class="icon" width="10" height="7">
  21.                 <use xlink:href="#icon-tick"></use>
  22.             </svg>
  23.             <div class="stock-info__text">{_w("Only %d left in stock", "Only %d left in stock", $n)}</div>
  24.         </div>
  25.     {elseif $n == 1}
  26.         <div class="stock-info single-stock">
  27.             <div class="stock-info__text">{_w("Only %d left in stock", "Only %d left in stock", $n)}</div>
  28.         </div>
  29.     {else}
  30.         <div class="stock-info no-stock">
  31.             <div class="stock-info__text">{if $wa->shop->settings('ignore_stock_count')}[`Pre-order only`]{else}[`Out of stock`]{/if}</div>
  32.         </div>
  33.     {/if}
  34. {/function}
  35. {if $theme_settings.products_show_wishlist}
  36.     {$theme_favorite = explode(",",waRequest::cookie('shop_favorite'))}
  37. {/if}
  38. {if $theme_settings.products_show_compare}
  39.     {$compare = explode(",",waRequest::cookie('shop_compare'))}
  40. {/if}
  41. {$_infoblocks = []}
  42. {if !empty($theme_settings.shop_productpage_info_features_1_title) || !empty($theme_settings.shop_productpage_info_features_1_body)}{$_infoblocks[] = [
  43.     'icon' => $theme_settings.shop_productpage_info_features_1_icon,
  44.     'link' => $theme_settings.shop_productpage_info_features_1_link,
  45.     'title' => $theme_settings.shop_productpage_info_features_1_title,
  46.     'body' => $theme_settings.shop_productpage_info_features_1_body
  47. ]}{/if}
  48. {if !empty($theme_settings.shop_productpage_info_features_2_title) || !empty($theme_settings.shop_productpage_info_features_2_body)}{$_infoblocks[] = [
  49.     'icon' => $theme_settings.shop_productpage_info_features_2_icon,
  50.     'link' => $theme_settings.shop_productpage_info_features_2_link,
  51.     'title' => $theme_settings.shop_productpage_info_features_2_title,
  52.     'body' => $theme_settings.shop_productpage_info_features_2_body
  53. ]}{/if}
  54. {if !empty($theme_settings.shop_productpage_info_features_3_title) || !empty($theme_settings.shop_productpage_info_features_3_body)}{$_infoblocks[] = [
  55.     'icon' => $theme_settings.shop_productpage_info_features_3_icon,
  56.     'link' => $theme_settings.shop_productpage_info_features_3_link,
  57.     'title' => $theme_settings.shop_productpage_info_features_3_title,
  58.     'body' => $theme_settings.shop_productpage_info_features_3_body
  59. ]}{/if}
  60. {if !empty($theme_settings.shop_productpage_info_features_4_title) || !empty($theme_settings.shop_productpage_info_features_4_body)}{$_infoblocks[] = [
  61.     'icon' => $theme_settings.shop_productpage_info_features_4_icon,
  62.     'link' => $theme_settings.shop_productpage_info_features_4_link,
  63.     'title' => $theme_settings.shop_productpage_info_features_4_title,
  64.     'body' => $theme_settings.shop_productpage_info_features_4_body
  65. ]}{/if}
  66.  
  67.  
  68.  
  69.  
  70.  
  71. {* SKU Features *}
  72. {if $theme_settings.shop_productpage_merge_description_tabs}
  73.     {function name="_render_sku_features" _features=[]}
  74.         <table>
  75.             {foreach $_features as $f_code => $f_value}
  76.                 {if $features[$f_code].type == 'divider'}
  77.                     </table>
  78.                     <div class="tab-chars__type">{$features[$f_code].name|escape}</div>
  79.                         <table>
  80.                 {else}
  81.                     {$_true_params = ["weight", "brand", "model", "width", "height", "depth", "color", "manufacturer"]}
  82.                     {$_is_good_param = ($f_code|in_array:$_true_params)}
  83.                     {$_itemprop = ""}
  84.                     {if $_is_good_param}
  85.                         {$_itemprop = $f_code}
  86.                     {/if}
  87.                     <tr>
  88.                         <td>{$features[$f_code].name|escape}</td>
  89.                         <td{if !empty($_itemprop)} itemprop="{$_itemprop|escape}"{/if}>
  90.                             {if is_array($f_value)}
  91.                                 {if $features[$f_code].type == 'color'}
  92.                                     {foreach $f_value as $color}
  93.                                         <div class="tab-chars__color-item">
  94.                                             <div class="color-text">
  95.                                                 <div class="c-color{if $color->code eq 16777215} c-color_white{/if}" style="{$color->style}"></div>
  96.                                                 <div class="color-text__text">{$color->value}</div>
  97.                                             </div>
  98.                                         </div>
  99.                                     {/foreach}
  100.                                 {else}
  101.                                     {implode(', ', $f_value)}
  102.                                 {/if}
  103.                             {else}
  104.                                 {if $features[$f_code].type == 'color'}
  105.                                     <div class="tab-chars__color-item">
  106.                                         <div class="color-text">
  107.                                             <div class="c-color{if $f_value->code eq 16777215} c-color_white{/if}" style="{$f_value->style}"></div>
  108.                                             <div class="color-text__text">{$f_value->value}</div>
  109.                                         </div>
  110.                                     </div>
  111.                                 {else}
  112.                                     {$f_value}
  113.                                 {/if}
  114.                             {/if}
  115.                         </td>
  116.                     </tr>
  117.                 {/if}
  118.             {/foreach}
  119.         </table>
  120.     {/function}
  121. {else}
  122.     {function name="_render_sku_features" _features=[]}
  123.         <table>
  124.             {foreach $_features as $f_code => $f_value}
  125.                 {if $features[$f_code].type == 'divider'}
  126.                     </table>
  127.                     <div class="tab-chars__type">{$features[$f_code].name|escape}</div>
  128.                         <table>
  129.                 {else}
  130.                     {$_true_params = ["weight", "brand", "model", "width", "height", "depth", "color", "manufacturer"]}
  131.                     {$_is_good_param = ($f_code|in_array:$_true_params)}
  132.                     {$_itemprop = ""}
  133.                     {if $_is_good_param}
  134.                         {$_itemprop = $f_code}
  135.                     {/if}
  136.                     <tr>
  137.                         <td>{$features[$f_code].name|escape}</td>
  138.                         <td{if !empty($_itemprop)} itemprop="{$_itemprop|escape}"{/if}>
  139.                             {if is_array($f_value)}
  140.                                 {if $features[$f_code].type == 'color'}
  141.                                     {foreach $f_value as $color}
  142.                                         <div class="tab-chars__color-item">
  143.                                             <div class="color-text">
  144.                                                 <div class="c-color{if $color->code eq 16777215} c-color_white{/if}" style="{$color->style}"></div>
  145.                                                 <div class="color-text__text">{$color->value}</div>
  146.                                             </div>
  147.                                         </div>
  148.                                     {/foreach}
  149.                                 {else}
  150.                                     {implode(', ', $f_value)}
  151.                                 {/if}
  152.                             {else}
  153.                                 {if $features[$f_code].type == 'color'}
  154.                                     <div class="tab-chars__color-item">
  155.                                         <div class="color-text">
  156.                                             <div class="c-color{if $f_value->code eq 16777215} c-color_white{/if}" style="{$f_value->style}"></div>
  157.                                             <div class="color-text__text">{$f_value->value}</div>
  158.                                         </div>
  159.                                     </div>
  160.                                 {else}
  161.                                     {$f_value}
  162.                                 {/if}
  163.                             {/if}
  164.                         </td>
  165.                     </tr>
  166.                 {/if}
  167.             {/foreach}
  168.         </table>
  169.     {/function}
  170. {/if}
  171. {$_skus_features_html = []}
  172. {foreach $product.skus as $_sku}
  173.    {if !empty($_sku.features)}
  174.        {capture assign="_sku_features_html"}{_render_sku_features _features=$_sku.features}{/capture}
  175.        {$_skus_features_html[$_sku.id] = $_sku_features_html}
  176.    {/if}
  177. {/foreach}
  178. {if empty($_skus_features_html)}
  179.     {if !empty($product.features)}
  180.         {capture assign="_sku_features_html"}{_render_sku_features _features=$product.features}{/capture}
  181.         {foreach $product.skus as $_sku}
  182.             {$_skus_features_html[$_sku.id] = $_sku_features_html}
  183.         {/foreach}
  184.     {/if}
  185. {/if}
  186.  
  187. {* Brief features *}
  188. {$_theme_config.brief_features = []}
  189. {if $theme_settings.shop_productpage_brief_features_limit < 0}{$theme_settings.shop_productpage_brief_features_limit = 0}{/if}
  190. {if $theme_settings.shop_productpage_brief_features_on}
  191.     {function name="_render_sku_brief_features" _sku_features=[]}
  192.         {$_brief_features_count = 0}
  193.         {foreach $_sku_features as $f_code => $f_value}
  194.         {if $_brief_features_count >= $theme_settings.shop_productpage_brief_features_limit}{break}{/if}
  195.             {if $features[$f_code].type ne 'divider'}
  196.                 <li class="pd-chars__i">
  197.                     <dl>
  198.                         <dt>{$features[$f_code].name|escape}</dt>
  199.                         <dd>
  200.                             {if is_array($f_value)}
  201.                                 {if $features[$f_code].type == 'color'}
  202.                                     {foreach $f_value as $color}
  203.                                         <div class="tab-chars__color-item">
  204.                                             <div class="color-text">
  205.                                                 <div class="c-color{if $color->code eq 16777215} c-color_white{/if}" style="{$color->style}"></div>
  206.                                                 <div class="color-text__text">{$color->value}</div>
  207.                                             </div>
  208.                                         </div>
  209.                                     {/foreach}
  210.                                 {else}
  211.                                     {implode(', ', $f_value)}
  212.                                 {/if}
  213.                             {else}
  214.                                 {if $features[$f_code].type == 'color'}
  215.                                     <div class="tab-chars__color-item">
  216.                                         <div class="color-text">
  217.                                             <div class="c-color{if $f_value->code eq 16777215} c-color_white{/if}" style="{$f_value->style}"></div>
  218.                                             <div class="color-text__text">{$f_value->value}</div>
  219.                                         </div>
  220.                                     </div>
  221.                                 {else}
  222.                                     {$f_value}
  223.                                 {/if}
  224.                             {/if}
  225.                         </dd>
  226.                     </dl>
  227.                 </li>
  228.                 {$_brief_features_count = $_brief_features_count + 1}
  229.             {/if}
  230.         {/foreach}
  231.     {/function}
  232.     {$_skus_brief_features_html = []}
  233.     {foreach $product.skus as $_sku}
  234.         {if !empty($_sku.features)}
  235.             {capture assign="_sku_brief_features_html"}{_render_sku_brief_features _sku_features=$_sku.features}{/capture}
  236.             {$_skus_brief_features_html[$_sku.id] = $_sku_brief_features_html}
  237.         {/if}
  238.     {/foreach}
  239.     {if empty($_skus_brief_features_html)}
  240.         {if !empty($product.features)}
  241.             {capture assign="_sku_brief_features_html"}{_render_sku_brief_features _sku_features=$product.features}{/capture}
  242.             {foreach $product.skus as $_sku}
  243.                 {$_skus_brief_features_html[$_sku.id] = $_sku_brief_features_html}
  244.             {/foreach}
  245.         {/if}
  246.     {/if}
  247. {/if}
  248. {$_balance_product_features = []}
  249. {if $product.features}
  250.     {foreach $product.features as $f}
  251.         {if !isset($f.type) || (isset($f.type) && $f.type ne "divider")}
  252.             {$_balance_product_features[] = $f}
  253.         {/if}
  254.     {/foreach}
  255. {/if}
  256.  
  257. {/strip}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement