Advertisement
valeraplusplus

old_shop2.2.120-product-options.tpl

Jun 7th, 2022
1,429
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Smarty 11.40 KB | None | 0 0
  1. {assign var="stripeClass" value="even"}
  2. {capture assign="c_vendor"}{strip}
  3.     {if !$shop2.my.hide_vendor_in_list || $mode == 'product'}
  4.  
  5.         {if $product.vendor_name}
  6.             <div class="option-item even vendor_option_item">
  7.                 <div class="option-title">{$shop2.my.vendor_alias|default:#SHOP2_VENDOR#}</div>
  8.                 <div class="option-body">
  9.                     {if !$shop2.my.hide_vendor_name}
  10.                         <a href="{get_seo_url uri_prefix=$shop2.uri mode="vendor" alias=$product.vendor_alias}">{$product.vendor_name}</a>
  11.                     {/if}
  12.                    
  13.                     {if $product.vendor_filename && $shop2.my.show_vendor_image}
  14.                         <div class="shop2-vendor">
  15.                             <a href="{get_seo_url uri_prefix=$shop2.uri mode="vendor" alias=$product.vendor_alias}">
  16.                                 {assign var="width" value=$shop2.my.vendor_image_width|default:80}
  17.                                 {assign var="height" value=$shop2.my.vendor_image_height|default:40}
  18.                                 <img src="{s3_img src=$product.vendor_filename width=$width height=$height method="r"}" alt="{$product.vendor_name}" />
  19.                             </a>
  20.                         </div>
  21.                     {/if}
  22.                 </div>
  23.             </div>
  24.         {/if}
  25.  
  26.     {/if}
  27. {/strip}{/capture}
  28.  
  29. {capture assign="c_dimensions"}{strip}
  30.     {if $shop2.my.show_dimensions_in_list}
  31.  
  32.         {if $product.length}
  33.             {assign var="stripeClass" value="odd"}
  34.             <div class="option-item odd">
  35.                 <div class="option-title">{#SHOP2_PRODUCT_LENGTH#}</div>
  36.                 <div class="option-body">
  37.                     {$product.length}
  38.                 </div>
  39.             </div>
  40.         {/if}
  41.  
  42.         {if $product.width}
  43.             {assign var="stripeClass" value="even"}
  44.             <div class="option-item even">
  45.                 <div class="option-title">{#SHOP2_PRODUCT_WIDTH#}</div>
  46.                 <div class="option-body">
  47.                     {$product.width}
  48.                 </div>
  49.             </div>
  50.         {/if}
  51.  
  52.         {if $product.height}
  53.             <div class="option-item odd">
  54.                 {assign var="stripeClass" value="odd"}
  55.                 <div class="option-title">{#SHOP2_PRODUCT_HEIGHT#}</div>
  56.                 <div class="option-body">
  57.                     {$product.height}
  58.                 </div>
  59.             </div>
  60.         {/if}
  61.  
  62.     {/if}
  63. {/strip}{/capture}
  64.  
  65. {if $shop2.my.hide_options_in_list && $mode != 'product'}
  66.    
  67.     {*не показываем параметры в списке, но мультиселекты с not_mod там должны быть - чтобы параметр добавлялся в корзину*}
  68.     {if $product_refs[$product.product_id] && $meta}
  69.         {foreach from=$product_refs[$product.product_id] item=o_values key=o_name}
  70.             {assign var="option" value=$meta.$o_name}
  71.             {if $option.in_card}
  72.                 {if $option.type == 'multiselect'}
  73.                     {assign var="values" value=$product.meta[$o_name]}
  74.                     {if $values}
  75.                         {assign var="all_values" value=$meta.$o_name.options}
  76.                         {if $option.not_mod}
  77.                             {foreach from=$values item=value key=k name=foo}
  78.                                 {if $smarty.foreach.foo.first}
  79.                                     <input type="hidden" name="{$o_name}" class="additional-cart-params" value="{$option.name}: {$all_values.$value}">
  80.                                 {/if}
  81.                             {/foreach}
  82.                         {/if}
  83.                     {/if}
  84.                 {/if}
  85.             {/if}
  86.         {/foreach}
  87.     {/if}
  88.  
  89.     {if $c_vendor}
  90.         <div class="shop2-product-options">{$c_vendor}</div>
  91.     {/if}
  92.  
  93. {else} {*-----------------------------------------------------------------------------------------*}
  94.  
  95.    
  96.     {capture assign="c_options"}{strip}
  97.         {if !$shop2.my.gr_vendor_in_thumbs}
  98.             {$c_vendor}
  99.         {/if}
  100.  
  101.         {$c_dimensions}
  102.  
  103.         {if $product_refs[$product.product_id] && $meta}
  104.             {foreach from=$product_refs[$product.product_id] item=o_values key=o_name}
  105.                 {assign var="option" value=$meta.$o_name}
  106.  
  107.                 {if $option.type != 'html' && (($mode == 'product' && $option.in_detail) || ($mode != 'product' && $product.cf.$o_name.in_list))}
  108.                
  109.                 <div class="option-item{if $option.type == 'color' || $option.type == 'image2' || $option.type == 'color2' || $option.type == 'color_ref'} gr_color_option{/if} {if $stripeClass == "even"}{cycle values="odd,even"}{else}{cycle values="even,odd"}{/if}{if $option.type == 'color'} gr_type_color{elseif $option.type == 'image2'} gr_type_texture{elseif $option.type == 'select'} gr_type_select{/if}" data-option-type="{$option.type}">
  110.                     {if $option.type == 'color'}
  111.        
  112.                         {* цвет ------------------------------- *}
  113.                         {if $o_values}
  114.                            
  115.                                 <div class="option-title">{$option.name}</div>
  116.                                 <div class="option-body">
  117.                                     <ul class="shop2-color-pick">
  118.                                         {foreach from=$o_values item=o_kinds key=o_color}
  119.                                             <li data-kinds="{','|implode:$o_kinds}" data-name="{$o_name}" data-value="{$o_color|escape}" class="{if $o_color==$product.meta[$o_name]}active-color{/if} shop2-cf">
  120.                                                 <span style="background-color: {$o_color};">&nbsp;</span>
  121.                                             </li>
  122.                                         {/foreach}
  123.                                     </ul>
  124.                                 </div>
  125.                            
  126.                         {/if}
  127.                         {* /----------------------------------- *}
  128.                    
  129.                     {elseif $option.type=='select'}
  130.  
  131.                         {* список ----------------------------- *}
  132.                         {if $o_values}
  133.                             {assign var="all_values" value=$meta.$o_name.options}
  134.                             {assign var="value" value=$product.meta[$o_name]}
  135.                             {if $o_values|@count == 1}
  136.                                 {* одно значение *}
  137.                                 {*assign var="kind_id" value=$o_values.$value.0}
  138.                                 {if $kind_id == $product.kind_id && $value*}
  139.                                 {if $value}
  140.                                    
  141.                                         <div class="option-title">{$option.name}</div>
  142.                                         <div class="option-body">{$all_values.$value}</div>
  143.                                    
  144.                                 {/if}
  145.                                 {* /------------ *}
  146.                             {else}
  147.                                 {* больше *}
  148.                                
  149.                                     <div class="option-title">{$option.name}</div>
  150.                                     <div class="option-body gr-field-style">
  151.                                         <select name="cf_{$o_name}" class="shop2-cf small-field">
  152.                                             {foreach from=$o_values item=o_kinds key=o_value}
  153.                                                 <option  value="{$o_value}" data-name="{$o_name}" data-value="{$o_value}" data-kinds="{','|implode:$o_kinds}" {if $value==$o_value}selected="selected"{/if}>{$all_values.$o_value}</option>
  154.                                             {/foreach}
  155.                                         </select>
  156.                                     </div>
  157.                                
  158.                                 {* /------------ *}
  159.                             {/if}
  160.                         {/if}
  161.                         {* /----------------------------------- *}
  162.                    
  163.  
  164.                     {elseif $option.type == 'multiselect'}
  165.  
  166.                         {* мультиселект --------------------------- *}
  167.                         {assign var="values" value=$product.meta[$o_name]}
  168.                         {if $values}
  169.                             {assign var="all_values" value=$meta.$o_name.options}
  170.                            
  171.                                 <div class="option-title">{$option.name}</div>
  172.                                 <div class="option-body">
  173.                                     {if $option.not_mod}
  174.                                         {* без модификаций *}
  175.                                             {if $values|@count == 1}
  176.                                                 {foreach from=$values item=value key=k name=foo}
  177.                                                     {$all_values.$value}
  178.                                                 {/foreach}
  179.                                             {else}
  180.                                                 {assign var="default_val" value=$product_refs_data[$product.product_id][$o_name][$product.kind_id].default}
  181.                                                 <select name="{$o_name}" class="additional-cart-params small-field">
  182.                                                     {foreach from=$values item=value key=k name=foo}
  183.                                                         {if $default_val == $value}
  184.                                                             {assign var="default_active" value=true}
  185.                                                         {else}
  186.                                                             {assign var="default_active" value=false}
  187.                                                         {/if}
  188.                                                         <option value="{$option.name}: {$all_values.$value}"{if $default_active} selected="selected"{/if}>{$all_values.$value}</option>
  189.                                                     {/foreach}
  190.                                                 </select>                                      
  191.                                             {/if}
  192.                                         {* /-------------- *}
  193.                                     {else}
  194.                                         {foreach from=$values item=value key=k name=foo}
  195.                                             {$all_values.$value}
  196.                                             {if !$smarty.foreach.foo.last}, {/if}
  197.                                         {/foreach}
  198.                                     {/if}
  199.                                 </div>
  200.                            
  201.                             {/if}
  202.                         {* /----------------------------------- *}
  203.                    
  204.  
  205.                     {elseif $option.type == 'file2'}
  206.  
  207.                         {* файл ------------------------------- *}
  208.                         {assign var="filename" value=$product.meta[$o_name].filename}
  209.                         {if $filename}
  210.                    
  211.                             <div class="option-title">{$option.name}</div>
  212.                             <div class="option-body">
  213.                                 <a href="{$FILES_DIR}{$filename}" class="file"><span class="icon"></span>{#SHOP2_DOWNLOAD#}</a>
  214.                             </div>
  215.                    
  216.                         {/if}
  217.                         {* /----------------------------------- *}
  218.  
  219.                     {elseif $option.type == 'image2'}
  220.  
  221.                         {* картинка --------------------------- *}
  222.                         {capture assign="images"}{strip}
  223.                             {foreach from=$o_values item=o_kinds key=o_value}
  224.                                 {if $o_value && $cf_images.$o_value}
  225.                                     <li data-kinds="{','|implode:$o_kinds}" data-name="{$o_name}" data-value="{$o_value|escape}" class="{if $o_value == $product.meta[$o_name].image_id}active-texture{/if} shop2-cf">
  226.                                         <img src="{s3_img width=30 height=30 src=$cf_images.$o_value method=$shop2.my.s3_img_method}" alt="{$option.name}" />
  227.                                     </li>
  228.                                 {/if}
  229.                             {/foreach}
  230.                         {/strip}{/capture}
  231.                        
  232.                         {if $images}
  233.                        
  234.                             <div class="option-title">{$option.name}</div>
  235.                             <div class="option-body">
  236.                                 <ul class="shop2-texture-pick">
  237.                                     {$images}
  238.                                 </ul>
  239.                             </div>
  240.                        
  241.                         {/if}
  242.                         {* /----------------------------------- *}
  243.  
  244.                     {elseif $option.type == 'textarea'}
  245.  
  246.                         {* текст --------------------------- *}
  247.                         {assign var="text" value=$product.meta[$o_name]}
  248.                         {if $text || $text === '0'}
  249.                        
  250.                             <div class="option-title">{$option.name}</div>
  251.                             <div class="option-body">
  252.                                 {$text}
  253.                             </div>
  254.                        
  255.                         {/if}
  256.                         {* /----------------------------------- *}
  257.  
  258.                     {elseif $option.type == 'checkbox'}
  259.  
  260.                         {* галочка --------------------------- *}
  261.                         {assign var="checked" value=$product.meta[$o_name]}
  262.                         {if $checked}
  263.                             <div class="option-title">{$option.name}</div>
  264.                             <div class="option-body">
  265.                                 {if $checked}{#SHOP2_YES#}{else}{#SHOP2_NO#}{/if}
  266.                             </div>
  267.                         {/if}
  268.                         {* /----------------------------------- *}
  269.  
  270.                     {elseif $option.type == 'text' || $option.type=='int' || $option.type=='float'}
  271.                        
  272.                         {* строка или число ------------------ *}
  273.                         {if $product.meta[$o_name] || $product.meta[$o_name] === '0'}
  274.                            
  275.                                 <div class="option-title">{$option.name}</div>
  276.                                 <div class="option-body">{$product.meta[$o_name]} {$option.unit}</div>
  277.                            
  278.                         {/if}
  279.                         {* /---------------------------------- *}
  280.  
  281.                     {elseif $option.type == 'color_ref' || $option.type == 'color2'}
  282.                        
  283.                         {assign var="values" value=$product.meta[$o_name]}
  284.  
  285.                         {if $values|@count}
  286.                             <div class="option-title">{$option.name}</div>
  287.                             <div class="option-body">
  288.                                 {include file="global:shop2.2.120-color-ext.tpl" location="product"}
  289.                             </div>
  290.                         {/if}
  291.                     {elseif $option.type == 'coordinates'}
  292.  
  293.                         {assign var="coords" value=$product.meta[$o_name]}
  294.  
  295.                         {if $coords.x}
  296.                             <div class="option-title">{$option.name}</div>
  297.                             <div class="option-body">
  298.                                 <a href="#" class="shop2-map-link" data-map="{$coords|@json_encode|htmlspecialchars}" data-map-type="{$option.map_type|htmlspecialchars}">{$coords.title|default:$product.name|htmlspecialchars}</a>
  299.                             </div>
  300.                         {/if}
  301.                     {/if}
  302.                     </div>
  303.                 {/if}
  304.             {/foreach}
  305.         {/if}
  306.     {/strip}{/capture}
  307.    
  308.     {if $c_options}
  309.         {if $shop2.my.gr_options_block_title!=""}
  310.             <div class="shop2-options-title">{$shop2.my.gr_options_block_title}</div>
  311.         {/if}
  312.         <div class="shop2-product-options">
  313.             {$c_options}
  314.         </div>
  315.         {if $shop2.my.gr_options_more_btn!=""}
  316.             <div class="options-more">
  317.                 <span data-text="{$shop2.my.gr_options_more_btn}">{$shop2.my.gr_options_more_btn}</span>
  318.             </div>
  319.         {/if}
  320.     {/if}
  321.  
  322. {/if}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement