valeraplusplus

shop2.2.120-cart-product.tpl

Aug 2nd, 2022
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Smarty 12.16 KB | None | 0 0
  1. {assign var=params_count value=1}
  2. {if $e.params|@count}
  3.     {assign var=params_count value=$e.params|@count}
  4. {/if}
  5. {assign var="product" value=$products.$k}
  6.  
  7. {section loop=$params_count name=co}
  8.     <div class="cart-products__item">
  9.         <div class="cart-products__left">
  10.             <div class="cart-product">
  11.                 <div class="cart-product__left">
  12.                     {assign var="cart_image_width" value=$shop2.my.cart_image_width|default:120}
  13.                     {assign var="cart_image_height" value=$shop2.my.cart_image_height|default:120}
  14.                        
  15.                     <div class="cart-product__image{if !$product.image_filename} no-image{/if}{if $shop2.my.gr_enable_images_settings}{if $site.extra_settings.images_size=="2"} gr_image_3x4{elseif $site.extra_settings.images_size=="3"} gr_image_2x3{elseif $site.extra_settings.images_size=="4"} gr_image_4x3{elseif $site.extra_settings.images_size=="5"} gr_image_3x2{else} gr_image_1x1{/if}{/if}">
  16.                         <a href="{get_seo_url mode="product" alias=$product.alias}">
  17.                             {if $product.image_filename}
  18.                                 <img src="{s3_img width=$cart_image_width height=$cart_image_height src=$product.image_filename method=$shop2.my.s3_img_method}"{if $site.extra_settings.images_view} class="gr_image_contain"{/if} alt="{$product.name}" title="{$product.name}" />
  19.                             {/if}
  20.                         </a>
  21.                     </div>
  22.                 </div>
  23.                
  24.                 <div class="cart-product__right">
  25.                     <div class="cart-details">
  26.                         {if $gift}
  27.                             <div class="cart-product__action"><strong>{#SHOP2_GIFT#}</strong></div>
  28.                         {/if}
  29.    
  30.                         {assign var="stock_status" value=$product.stock_status}
  31.    
  32.                         {if $stock_status == 'not_enough'}
  33.                             <div class="cart-product__action">
  34.                                 <strong>{#SHOP2_PRODUCT_NOT_ENOUGH#|sprintf:$product.amount|htmlspecialchars}</strong>
  35.                                 <div class="shop2-tooltip" data-tooltip="{#SHOP2_PRODUCT_NOT_ENOUGH_TOOLTIP#|sprintf:$product.amount|htmlspecialchars}"></div>
  36.                             </div>
  37.                         {elseif $stock_status == 'deleted'}
  38.                             {if !$gift}
  39.                                 <div class="cart-product__action">
  40.                                     <strong>{#SHOP2_PRODUCT_DELETED#}</strong>
  41.                                     <div class="shop2-tooltip" data-tooltip="{#SHOP2_PRODUCT_DELETED_TOOLTIP#|htmlspecialchars}"></div>
  42.                                 </div>
  43.                             {/if}
  44.                         {/if}
  45.    
  46.    
  47.                         <div class="cart-product__name">
  48.                             <a {if $product.alias != "#"}href="{get_seo_url mode="product" alias=$product.alias}"{/if}>
  49.                                 {$product.name}
  50.                             </a>
  51.                         </div>
  52.                        
  53.    
  54.                         {if $e.discounts_applied|@count}
  55.                             <div class="cart-product__action"><strong>{#SHOP2_ACTIONS#}:</strong>
  56.                                 {foreach from=$e.discounts_applied item=discount name=product_discounts}
  57.                                     {$discounts.$discount.discount_name}{if !$smarty.foreach.product_discounts.last}, {/if}
  58.                                 {/foreach}
  59.                             </div>
  60.                         {/if}
  61.                     </div>
  62.                    
  63.                     <div class="cart-params">
  64.                         {if $shop2.my.gr_cart_show_options_text!=""}
  65.                             <div class="cart-params__btn">
  66.                                 <span data-text="{$shop2.my.gr_cart_show_options_text}">{$shop2.my.gr_cart_show_options_text}</span>
  67.                             </div>
  68.                         {/if}
  69.                         <div class="cart-params__body">
  70.                             {include file="global:shop2.2.120-product-article.tpl"}
  71.                             <ul class="cart-params__list">
  72.                                 {foreach from=$product.meta item=op key=kop}
  73.                                     {if $op}
  74.                                         {assign var="option" value=$custom_fields.$kop}
  75.  
  76.                                         {if $option.type == 'text' || $option.type == 'int' || $option.type == 'float' || $option.type == 'textarea' || $option.type == 'html'}
  77.                                             <li class="gr_type_text">
  78.                                                 <div class="cart-params__title">{$option.name}:</div>
  79.                                                 <div class="cart-params__value">{$op} {$option.unit|default:""}</div>
  80.                                             </li>
  81.                                         {elseif $option.type == 'checkbox'}
  82.                                             <li class="gr_type_checkbox">
  83.                                                 <div class="cart-params__title">{$option.name}:</div>
  84.                                                 <div class="cart-params__value">{if $op == 1}{#SHOP2_YES#}{else}{#SHOP2_NO#}{/if}</div>
  85.                                             </li>
  86.                                         {elseif $option.type == 'color'}
  87.                                             <li class="gr_type_color">
  88.                                                 <div class="cart-params__title">{$option.name}:</div>
  89.                                                 <div class="cart-params__value">
  90.                                                     <ul class="shop2-color-pick">
  91.                                                         <li class="active-color"><span style="background-color: {$op};">&nbsp;</span></li>
  92.                                                     </ul>
  93.                                                 </div>
  94.                                             </li>
  95.                                         {elseif $option.type == 'select'}
  96.                                             <li class="gr_type_select">
  97.                                                 <div class="cart-params__title">{$option.name}:</div>
  98.                                                 <div class="cart-params__value">{$option.options.$op}</div>
  99.                                             </li>
  100.                                         {elseif $option.type == 'multiselect' && !$option.not_mod}
  101.                                             <li class="gr_type_multiselect">
  102.                                                 <div class="cart-params__title">{$option.name}:</div>
  103.                                                 <div class="cart-params__value">
  104.                                                     {foreach from=$op item=o_v  key=o_k name=foo}
  105.                                                         {$option.options.$o_v}{if !$smarty.foreach.foo.last}, {/if}
  106.                                                     {/foreach}
  107.                                                 </div>
  108.                                             </li>
  109.                                         {elseif $option.type == 'image2'}
  110.                                             <li class="gr_type_image2">
  111.                                                 <div class="cart-params__title">{$option.name}:</div>
  112.                                                 <div class="cart-params__value gr_cart_param_img">
  113.                                                     <a href="{$IMAGES_DIR}{$op.filename}">
  114.                                                         {assign var="cart_other_image_width" value=$shop2.my.cart_other_image_width|default:90}
  115.                                                         {assign var="cart_other_image_height" value=$shop2.my.cart_other_image_height|default:90}
  116.                                                         <img src="{s3_img width=$cart_other_image_width height=$cart_other_image_height src=$op.filename method=$shop2.my.s3_img_method}" />
  117.                                                     </a>
  118.                                                 </div>
  119.                                             </li>
  120.                                         {elseif $option.type == 'file2'}
  121.                                             <li class="gr_type_file2">
  122.                                                 <div class="cart-params__title">{$option.name}:</div>
  123.                                                 <div class="cart-params__value">
  124.                                                     <a href="{$FILES_DIR}{$op.filename}"><span class="icon"></span> {#SHOP2_DOWNLOAD#}</a>
  125.                                                 </div>
  126.                                             </li>
  127.                                         {elseif ($option.type == 'color_ref' || $option.type == 'color2') && !$option.not_mod}
  128.                                             <li class="gr_type_color_ref">
  129.                                                 <div class="cart-params__title">{$option.name}:</div>
  130.                                                 <div class="cart-params__value">
  131.                                                     {include file="global:shop2.2.120-color-ext.tpl" location="cart"}
  132.                                                 </div>
  133.                                             </li>
  134.                                         {elseif $option.type == 'coordinates'}
  135.                                             {if $op.x}
  136.                                                 <li class="gr_type_coordinates">
  137.                                                     <div class="cart-params__title">{$option.name}:</div>
  138.                                                     <div class="cart-params__value">
  139.                                                         <a href="#" class="shop2-map-link" data-map="{$op|@json_encode|htmlspecialchars}" data-map-type="{$option.map_type|htmlspecialchars}">{$op.title|default:$product.name|htmlspecialchars}</a>
  140.                                                     </div>
  141.                                                 </li>
  142.                                             {/if}
  143.                                         {/if}
  144.                                     {/if}
  145.                                 {/foreach}
  146.  
  147.                                 {foreach from=$e.params[co] item=o_v key=o_k}
  148.                                     {if $o_k!='amount' && $o_v}
  149.                                     <li class="gr-field-style">
  150.                                         {assign var="option" value=$custom_fields.$o_k}
  151.                                         {assign var="parts" value=": "|explode:$o_v}
  152.                                         {*доп. поля с выбором при заказе*}
  153.                                         {if $product.cf.$o_k.not_mod}
  154.                                             {include file="global:shop2.2.120-product-options-not-mod.tpl"}
  155.                                         {else}
  156.                                             {if $parts|@count == 2 && $option.type == 'color_ref' && $option.not_mod}
  157.                                                 <div class="cart-params__title">{$parts[0]}: </div>
  158.                                                 <div class="cart-params__value">
  159.                                                     {include file="global:shop2.2.120-color-ext.tpl" location="cart" op=$parts[1]}
  160.                                                 </div>
  161.                                             {else}
  162.                                                 <div class="cart-params__title">{$o_v}</div>
  163.                                             {/if}
  164.                                             <input name="amounts[{$k}][{$smarty.section.co.index}][{$o_k}]" type="hidden" value="{$o_v|htmlspecialchars}" />
  165.                                         {/if}
  166.                                     </li>
  167.                                     {/if}
  168.                                 {/foreach}
  169.                             </ul>
  170.                         </div>
  171.                     </div>
  172.                 </div>
  173.             </div>
  174.         </div>
  175.         <div class="cart-products__right">
  176.             {if $fix_discount}
  177.                 <div class="cart-price">
  178.                     {if $e.is_pre_order}
  179.                         <div class="cart-price__preorder">{$shop2.my.preorder_alias|default:#SHOP2_PREORDER2#}</div>
  180.                     {else}
  181.                         {$e.price|price_convert} <span>{$currency.currency_shortname}</span>
  182.                     {/if}
  183.                 </div>
  184.             {else}
  185.                 <div class="cart-price">
  186.                     {if $e.is_pre_order}
  187.                         <div class="cart-price__preorder">{$shop2.my.preorder_alias|default:#SHOP2_PREORDER2#}</div>
  188.                     {else}
  189.                         {$e.price|price_convert} <span>{$currency.currency_shortname}</span>
  190.                     {/if}
  191.                 </div>
  192.             {/if}
  193.             <div class="cart-amount">
  194.                 {if $gift}
  195.                     <div class="cart-price__preorder">{$e.amount}</div>
  196.                 {else}
  197.                     {assign var="amount_min" value=$product.params.amount_min}
  198.                     {if $product.params.amount_min !="" || $product.params.amount_multiplicity !=""}
  199.                         {assign var="multiplicity" value=$product.params.amount_multiplicity|default:1}
  200.                     {/if}
  201.                     {if !$amount_min}{if $multiplicity}{assign var=amount_min value=$multiplicity}{else}{assign var="amount_min" value=$shop2.my.amount_default|default:1}{/if}{/if}
  202.                     <div class="shop2-product-amount gr_cart_amount">
  203.                         <button type="button" class="shop2-btn amount-minus">
  204.                             <svg class="gr-svg-icon">
  205.                                 <use xlink:href="#minus_icon_btn"></use>
  206.                             </svg>
  207.                         </button>
  208.                             {assign var="max" value=$product.amount}
  209.                             {if ($shop2.product_amount_required == 0 && $product.pre_order == 0) || $product.pre_order == 4}
  210.                                 {assign var="max" value=0}
  211.                             {/if}
  212.                             <input {if $shop2.product_amount_required=='1' || $product.buy_mode==1}data-max="{$max}"{/if} data-kind="{$product.kind_id}" name="{if $e.params}amounts[{$k}][{$smarty.section.co.index}][amount]{else}amounts[{$k}]{/if}" type="text" maxlength="4" value="{if $e.params[co].amount}{$e.params[co].amount}{else}{$e.amount}{/if}" data-min="{$amount_min}" data-multiplicity="{$multiplicity}" />
  213.                         <button type="button" class="shop2-btn amount-plus">
  214.                             <svg class="gr-svg-icon">
  215.                                 <use xlink:href="#plus_icon_btn"></use>
  216.                             </svg>
  217.                         </button>
  218.                     </div>
  219.                     {if $multiplicity > 0}
  220.                     <div class="amount-min">
  221.                         {#FILTER_INT_FROM#|mb_strtolower} {$amount_min} {$product.params.unit}
  222.                         {#FILTER_BY#|mb_strtolower} {if $multiplicity}{$multiplicity}{else}1{/if} {$product.params.unit}
  223.                     </div>
  224.                     {/if}
  225.                 {/if}
  226.             </div>
  227.             {if $gift}
  228.                 <div class="cart-sum">&nbsp;</div>
  229.             {else}
  230.                 <div class="cart-sum">
  231.                     {if $e.is_pre_order}
  232.                         -
  233.                     {else}
  234.                         {if $fix_discount}
  235.                             {if $e.custom_params[co].amount}
  236.                                 {$e.custom_params[co].total|price_convert} <span>{$currency.currency_shortname}</span>
  237.                             {else}
  238.                                 {if count($discounts) > 0}
  239.                                     {$e.discount_sum|price_convert} <span>{$currency.currency_shortname}</span>
  240.                                 {else}
  241.                                     {$e.sum|price_convert} <span>{$currency.currency_shortname}</span>
  242.                                 {/if}
  243.                             {/if}
  244.                         {else}
  245.                             {if $e.params[co].amount}
  246.                                 {$e.params[co].amount*$e.price|price_convert} <span>{$currency.currency_shortname}</span>
  247.                             {else}
  248.                                 {if count($discounts) > 0}
  249.                                     {$e.discount_sum|price_convert} <span>{$currency.currency_shortname}</span>
  250.                                 {else}
  251.                                     {$e.sum|price_convert} <span>{$currency.currency_shortname}</span>
  252.                                 {/if}
  253.                             {/if}
  254.                         {/if}
  255.                     {/if}
  256.                 </div>
  257.                 <div class="cart-delete">
  258.                     {strip}
  259.                     <a class="gr-icon-btn" title="{#SHOP2_REMOVE#}" href="{$shop2.uri}?mode=cart&action=del&kind_id={$k}" data-id="
  260.                         {if $e.params}
  261.                             {ldelim}'{$k}':{ldelim}
  262.                                 {foreach from=$e.params[co] item=o_v key=o_k name=foo}
  263.                                     {if $o_k == 'amount'}
  264.                                         'amount': '0'
  265.                                     {else}
  266.                                         '{$o_k|htmlspecialchars}':'{$o_v|htmlspecialchars}'
  267.                                     {/if}
  268.                                     {if !$smarty.foreach.foo.last}, {/if}
  269.                                 {/foreach}
  270.                             {rdelim}{rdelim}
  271.                         {else}
  272.                             {$k}
  273.                         {/if}">
  274.                         <span>
  275.                             {$shop2.my.gr_cart_delete_text|default:#SHOP2_REMOVE#}
  276.                         </span>
  277.                         <svg class="gr-svg-icon">
  278.                             <use xlink:href="#cart_delete_icon"></use>
  279.                         </svg>
  280.                     </a>
  281.                     {/strip}
  282.                 </div>
  283.             {/if}
  284.         </div>
  285.     </div>
  286. {/section}
Add Comment
Please, Sign In to add comment