Advertisement
valeraplusplus

shop2.v2-cart-product.tpl

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