Авторизация  
VaM

Как вывести все доступные размеры у товара (обуви)?!

Рекомендуемые сообщения

VaM

Например, у Вас есть товар - обувь.

Вы хотите внутри категорий, на странице со списком товара вывести все доступные размеры.

Вот как могло бы это выглядеть:

razmery.png

В админке настраиваете спецификации у товра, группируете, как в примере с умными часами - http://demo2.vamshop.ru/product/samsung-gear-2-wild-orange.html

А затем правите шаблон вывода атрибутов товара.

В Админке - Оформление - Микро-шаблоны - product-listing правите:

        <div class="description">{attribute_list product_id=$node.id}</div>

на:

        <div class="description">{attribute_list product_id=$node.id template="razmery"}</div>

Затем в Админке - Расширения - Тэги заходите в тэг {attribute_list}

Внизу нажимаете кнопку Создать микро-шаблон из тэга.

В опциии Псевдоним указываете razmery

Сохрнаяете.

Вы создали шаблон razmery, которым будут отрисовываться атрибуты товаров в списке товара в каталоге.

Затем надо чуть его исправить что б выводить все доступные размеры как на картинке выше.

Пример шаблона:

   
                {if $attr.target=="CATALOG"}
{if !$attr.is_group}

                    {foreach from=$attr.element_list item=attr_element}
{if {$attr_element.name} == "Размеры"}

{if isset($attr_element.values_attribute)}
{$attr_element.name}:
                        <ul class="attributes nav nav-pills">
                            <li class="active"><span class="active">{value_filter template=$attr_element.template.template_catalog 
                                                  id_attribute=$attr_element.values_attribute.id 
                                                  name_attribute="" 
                                                  values_attribute=$attr_element.values_attribute}</span></li>
                             </ul>
                        {/if}
{/if}
                    {/foreach}   
{/if}

{if $attr.is_group}

                    {foreach from=$attr.group_list item=attr_element}
                    {if $attr_element@first}<ul class="specs">{/if}                     
                    {if $attr_element.values_attribute && $attr_element.group_attributes}                    
{if $attr_element.group_attributes && {$attr_element.name} == "Размеры"}
                              {$attr_element.name}:
                            {if !empty($attr_element.values_attribute.name)}</b>{/if}                                
                        <ul class="attributes nav nav-pills">
                            <li class="active"><span class="active">{$attr_element.values_attribute.name}</span></li>

                          {foreach from=$attr_element.group_attributes item=attr_val}                        
                            <li class="{cycle values="odd,even"}">
                                {if $attr_val.make}<b>{/if}
                                    <a class="confirm" href={$attr_val.content_chng_url} onclick='$("#attr{$attr_val.values_attribute.id}").attr("value","1");'> {$attr_val.values_attribute.name} </a>
                                    <input id="attr{$attr_val.values_attribute.id}" name="data[set_attr][{$attr_val.values_attribute.id}]" type="hidden" />
                                {if $attr_val.make}</b>{/if}
                            </li>           
                        {/foreach}
                        </ul>
{/if}                        
                    {/if}                      
                    {if $attr_element@last}</ul>{/if}
                    {/foreach}


{/if}

                {else if $attr.target=="PRODUCT"}
                    {foreach from=$attr.element_list item=attr_element}
                        {if isset($attr_element.values_attribute)}
                            {if $attr_element@first} <ul class="specs"> {/if}                
                                <li class="{cycle values="odd,even"}">{value_filter template=$attr_element.template.template_product 
                                                  id_attribute=$attr_element.values_attribute.id 
                                                  name_attribute=$attr_element.name 
                                                  values_attribute=$attr_element.values_attribute}</li>
                            {if $attr_element@last} </ul> {/if}
                        {/if}
                    {/foreach} 
                {else if $attr.target=="PRODUCT_GROUP"}

	                 {foreach from=$attr.element_list item=attr_element}
	                     {if isset($attr_element.values_attribute)}
	                         <ul class="specs">               
	                             <li class="{cycle values="odd,even"}">{value_filter template=$attr_element.template.template_product 
	                                               id_attribute=$attr_element.values_attribute.id 
	                                               name_attribute=$attr_element.name 
	                                               values_attribute=$attr_element.values_attribute}</li>
	                         </ul>
	                     {/if}
	                 {/foreach}
	                 <br /> 

						<div id="spinner">
							<img src="{base_path}/img/ajax-loader.gif" alt="" width="31" height="31" />
						</div>
                    <script> 
                        $(document).ready(function () { 
                            global_spinner = $("#spinner");
                        });
                    </script>

                    <form id="set_attr_form" method="post" action={$base_content}>
                    {foreach from=$attr.element_list item=attr_element}
                    {if $attr_element@first}<ul class="specs">{/if}                     
                    {if $attr_element.values_attribute && $attr_element.group_attributes}                    
                        <li class="{cycle values="odd,even"}">{if !empty($attr_element.values_attribute.name)}<b>{/if}
                                {lang}Select{/lang} {$attr_element.name}:
                            {if !empty($attr_element.values_attribute.name)}</b>{/if}                                
{if $attr_element.group_attributes}
                        <ul class="attributes nav nav-pills">
                            <li class="active"><span class="active">{$attr_element.values_attribute.name}</span></li>
                        {foreach from=$attr_element.group_attributes item=attr_val}                        
                            <li class="{cycle values="odd,even"}">
                                {if $attr_val.make}<b>{/if}
                                    <a class="confirm" href={$attr_val.content_chng_url} onclick='$("#attr{$attr_val.values_attribute.id}").attr("value","1");'> {$attr_val.values_attribute.name} </a>
                                    <input id="attr{$attr_val.values_attribute.id}" name="data[set_attr][{$attr_val.values_attribute.id}]" type="hidden" />
                                {if $attr_val.make}</b>{/if}
                            </li>                          
                        {/foreach}
                        </ul>
{/if}                        
                        </li>
                    {/if}                      
                    {if $attr_element@last}</ul>{/if}
                    {/foreach}
                    <script>
                    $(function () {      
                        $(".confirm").on("click",function(){            
                            var http_send = $(this).attr("href");
                            var form_data = $("#set_attr_form").serialize();
                            $.ajax({
                                    type: "POST",
                                    url: http_send,
                                    data: form_data,
                                    async: true,
                                    success: function (data, textStatus) {
                                        $("#ajaxcontent").html(data);},
                                    beforeSend: function () {
                                        global_spinner.fadeIn("fast");
                                        },
                                    complete: function () {
                                        /*global_spinner.fadeOut("slow");*/
                                        }                                                    
                                });                            
                            return false;
                        });
                    });
                    </script>
                    </form>

                {/if}
                <br />              
    

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация