Jump to content

Атрибуты Vamshop2


Recommended Posts

Здравствуйте, не отображаются атрибуты в карточке с товаром, подскажите как правильно ими пользоваться? И как я понял, с несколькими атрибутами нет  возможности отправить товар в корзину, только с последним выбранным?

Link to post
Share on other sites
8 часов назад, ggg888 сказал:

Здравствуйте, не отображаются атрибуты в карточке с товаром, подскажите как правильно ими пользоваться? И как я понял, с несколькими атрибутами нет  возможности отправить товар в корзину, только с последним выбранным?

Здравствуйте!

Да, если сравнивать с vamshop1 - то таких атрибутов нет.

Есть группировка по любым признакам, т.е. с одним значение можно добавить.

Например вот выбор цвета - https://demo2.vamshop.ru/product/samsung-gear-2-charcoal-black.html

Это настраивается в админке через зкладку Атрибуты.

Для нруппировки задаются характеристики товара сначала категории, например Цвет.

Затем конкретным товарам указывается значение цвета.

и затем группируются, выбирается главный товар и зависимые товары.

В итоге получается как по ссылке.

Посмотрите пример в админке demo2.vamshpo.ru/admin

admin

password

Как настроены умные часы, там, по идее, всё видно, на примере часов сделайте свой товар.

 

Link to post
Share on other sites

Спасибо, это я понял, можете сказать где они редактируются? У меня они показываются почему-то

 

Link to post
Share on other sites
51 минуту назад, ggg888 сказал:

Спасибо, это я понял, можете сказать где они редактируются? У меня они показываются почему-то

 

А что именно редактировать?!

Внешний вид?!

Если внешний вид, то в Админке - Настройки - Шаблоны атрибутов.

Link to post
Share on other sites
Только что, ggg888 сказал:

Нет, они вообще не отображаются

Значит неправильно настроили.

Начните с простого.

т.е. в демке https://demo2.vamshop.ru

Добавьте в учные часы ещё один товары и попробуйте его сгруппировать с существующими.

т.е. надо просто один раз понять суть и всё получится.

На пример уже забитых товаров это проще сделать.

Выше я уже писал как это делается.

т.е. сначала к категории цепляются атрибуты, значения.

Потому в кокнретном товараре уже выбираются значения для конкретного товара и группируются.

Если у Вас всё задано, просто просто "птички" выключена, т.е. просто статус выключен стоит у атрибутов, либо не показывать на странице карточки товара например.

Link to post
Share on other sites

Здравствуйте, помогите настроить атрибуты, мне нужно чтобы они размещались под каждым товаром, как их вывести? Добавлял тэг в страницу содержания, но эфекта 0 {attribute_list}

Link to post
Share on other sites
33 минуты назад, ggg888 сказал:

Здравствуйте, помогите настроить атрибуты, мне нужно чтобы они размещались под каждым товаром, как их вывести? Добавлял тэг в страницу содержания, но эфекта 0 {attribute_list}

Вот есть в разделе FAQ такой вопрос, там же и скриншот с примером - 

 

Link to post
Share on other sites

Два раза ставил по наитию, но эффекта нет, product-listing и микро шаблон attribute, правил, больше же ничего не надо править? 

Link to post
Share on other sites
20 минут назад, ggg888 сказал:

Два раза ставил по наитию, но эффекта нет, product-listing и микро шаблон attribute, правил, больше же ничего не надо править? 

Ну там в коде видно, что код заточен под атрибут под названием Размеры

Меняйте текст Размеры на своё название атрибута

Link to post
Share on other sites
2 минуты назад, support сказал:

Ну там в коде видно, что код заточен под атрибут под названием Размеры

Меняйте текст Размеры на своё название атрибута

Я это понял, создал специально атрибут размеры, для теста, но нет результата(

Link to post
Share on other sites
1 час назад, ggg888 сказал:

Я это понял, создал специально атрибут размеры, для теста, но нет результата(

Нужно сгруппировать товары, т.е. что б было как в умных часах - https://demo2.vamshop.ru/product/samsung-gear-2-wild-orange.html

по сути, это просто выбор цвета (рахмера и т.д.), но в списке товара, а не в карточке товара.

Link to post
Share on other sites
20 минут назад, ggg888 сказал:

Попробовал на демо https://demo2.vamshop.ru/product/samsung-gear-2-wild-orange.html тоже не работает(

Кэш сбрасывали?!

Код точно рабочий, движок не менялся.

Вот этот магазин  - http://ortonogki.ru/category/sandalii.html

Который показан на скриншоте в FAQ.

Link to post
Share on other sites

Кэш сбрасывал два раза, не работает код( Подскажите может кто может помочь с этим вопросом?

Link to post
Share on other sites
50 минут назад, ggg888 сказал:

Кэш сбрасывал два раза, не работает код( Подскажите может кто может помочь с этим вопросом?

Пришлите доступ в админку, посмотрю.

Link to post
Share on other sites
3 минуты назад, ggg888 сказал:

Сайт https://54vkusa.ru пароль скинул в л/с

В какой категории у Вас есть сгруппированные товары?!

Где пробовали совет из FAQ. в какой категории?

Link to post
Share on other sites

В /app/Catalog/function.attribute_list.php поменяйте:

        //if($Content->is_group($params['product_id'])) $attr['group_list'] = $Content->getSetAttributesForGroup($params['product_id'],true);

на:

        if($Content->is_group($params['product_id'])) $attr['group_list'] = $Content->getSetAttributesForGroup($params['product_id'],true);

и должно всё заработать.

32 минуты назад, ggg888 сказал:

категория Пицца

 

Link to post
Share on other sites

<?php
/* -----------------------------------------------------------------------------------------
   VamShop - http://vamshop.com
   -----------------------------------------------------------------------------------------
   Copyright (c) 2014 VamSoft Ltd.
   License - http://vamshop.com/license.html
   ---------------------------------------------------------------------------------------*/

function default_template_attribute_list()
{
    $template = '   
                {if $attr.target=="CATALOG"}
                    {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_catalog 
                                                  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"}
                    {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 />              
    ';
    return $template;
}


function smarty_function_attribute_list($params)
{  
    global $content;
    App::uses('SmartyComponent', 'Controller/Component');
    $Smarty = new SmartyComponent(new ComponentCollection());
    
    $attr = array();
    App::import('Model', 'Content');
    $Content = new Content();

    if (isset($params['product_id'])) //Для каталога
    { 
        $attr['element_list'] = $Content->getSetAttributesForProduct($params['product_id']);
        $attr['target'] = 'CATALOG';
        $attr['is_group'] = $Content->is_group($params['product_id']);
        
        $content_id = $params['product_id'];
    }
    else //Для карточки товара
    {   
        if($Content->is_group($content['Content']['id']))
        {
             $attr['element_list'] = $Content->getSetAttributesForGroup($content['Content']['id'],true);
             $attr['target'] = 'PRODUCT_GROUP';
        } else {         
            $attr['element_list'] = $Content->getSetAttributesForProduct($content['Content']['id']);
            $attr['target'] = 'PRODUCT';
        }
        $content_id = $content['Content']['id'];
    }                 

    $assignments = array();
    $assignments = array('attr' => $attr,
                         'content_id' => $content_id,    
                         'base_content' => $Content->getUrlForContent($content_id),
                         );
    $display_template = $Smarty->load_template($params, 'attribute_list');
    $Smarty->display($display_template, $assignments);

}

function smarty_help_function_attribute_list() 
{
    ?>
    <h3><?php echo __('What does this tag do?') ?></h3>
    <p><?php echo __('Displays attributes list.') ?></p>
    <h3><?php echo __('How do I use it?') ?></h3>
    <p><?php echo __('Just insert the tag into your template/page like:') ?> <code>{attribute_list}</code></p>
    <h3><?php echo __('What parameters does it take?') ?></h3>
    <ul>
        <li><em><?php echo __('(template)') ?></em> - <?php echo __('Overrides the default template.') ?></li>
        <li><em><?php echo __('(product_id)') ?></em> - <?php echo __('Product ID.') ?></li>
      </ul>
    <?php
}

function smarty_about_function_attribute_list() 
{
}
?>
 

Но тут нет такого тэга

Link to post
Share on other sites
4 минуты назад, ggg888 сказал:

Но тут нет такого тэга

В FAQ прицепил внизу файл.

Попробуйте его.

Link to post
Share on other sites
×
×
  • Create New...