Advertisement
valeraplusplus

new - shop2.2.120-cart-product.tpl

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