Support » Plugin: WooCommerce and 1C:Enterprise/1С:Предприятие Data Exchange » Индивидуальные аттрибуты

  • taimerlan

    (@taimerlan)


    Приветствую,

    При создании вариативных товаров, создаются индивидуальные атрибуты без возможности выбора и фильрации по ним.
    Как исправить?

Viewing 10 replies - 1 through 10 (of 10 total)
  • akho

    (@akho)

    Мне удалось добиться правильной фильтрации только за счет создания глобальных атрибутов и их линком с вариативными товарами. Я взял плагин Product Attributes – Bulk Modifier за основу, немного подшаманил его и добавил в обработки wc1c_mode_import и wc1c_mode_query.
    Поробуйте начать с плагина, может это все что вам нужно.

    taimerlan

    (@taimerlan)

    Не поделитесь пожалуйста обновленным вариантом?)

    akho

    (@akho)

    В моем случае я создал 3 глобальных атрибута Цвет, Размер и Рост со слагами color, size и height.
    Вот часть кода в import.php, которая объединяет вариации с этими атрибутами для корректной фильтрации

    foreach ($product['ХарактеристикиТовара'] as $characteristic) {
        $attribute_value = @$characteristic['Значение'];
        if (!$attribute_value) continue;
    
        $product_attribute_name = $characteristic['Наименование'];
        $product_attribute_key = sanitize_title($product_attribute_name);
        
        if( "Размер" === $product_attribute_name || "Цвет" === $product_attribute_name || "Рост" === $product_attribute_name )
        {
                      
           if ("Размер" === $product_attribute_name) wp_set_object_terms( $post_id, $attribute_value, 'pa_size', false );
           if ("Цвет" === $product_attribute_name) wp_set_object_terms( $post_id, $attribute_value, 'pa_color', false );
           if ("Рост" === $product_attribute_name) wp_set_object_terms( $post_id, $attribute_value, 'pa_height', false );
          
        } // end if
        
        $product_attribute_position = count($product_attributes);
        $product_attributes[$product_attribute_key] = array(
          'name' => wc_clean($product_attribute_name),
          'value' => $attribute_value,
          'position' => $product_attribute_position,
          'is_visible' => 0,
          'is_variation' => 0,
          'is_taxonomy' => 0,
        );
      }
    

    Ключевый здесь вот эти строки:

    
    if( "Размер" === $product_attribute_name || "Цвет" === $product_attribute_name || "Рост" === $product_attribute_name )
        {
                      
           if ("Размер" === $product_attribute_name) wp_set_object_terms( $post_id, $attribute_value, 'pa_size', false );
           if ("Цвет" === $product_attribute_name) wp_set_object_terms( $post_id, $attribute_value, 'pa_color', false );
           if ("Рост" === $product_attribute_name) wp_set_object_terms( $post_id, $attribute_value, 'pa_height', false );
          
        } // end if
    
    kucenkov

    (@kucenkov)

    Ребята спасибо вам за возможность решить эту проблему) случайно зашел сегодня а тут такое)

    3 месяца не могу решить эту проблему) отдавал даже 2 программистам что то никак не вышло у них) видимо такие руки)

    не смог найти указанный плагин, Product Attributes – Bulk Modifier, только вот этот https://gist.github.com/birgire/0ed300ae4436fcaf508c

    это он?

    что ты изменил в самом плагине? ты писал подшаманил)
    заранее спасибо

    kucenkov

    (@kucenkov)

    @akho можете мне настроить за денежку или за вискарь? что то покопался не понял
    Skype: Kucenkov

    akho

    (@akho)

    Да, плагин правильный. Он берет текущие атрибуты вариации, создает глобальные атрибуты и добавляет их в вариацию.

    Я методом проб и ошибок вычислил, что для корректной работы фильтров не обязательно добавлять глобальные атрбуты в вариации, а достаточно только линка с ними. Плюс так как я знаю какие мне атрибуты нужны я могу их создать заранее, а не делать это через код.

    Как итог, единственное что делают несколько строчек кода, которые я показал выше, это создают линк вариации с глобальными атрибутами.

    @akho как с вами связаться? нужна помощь с атрибутами! Плагин поставил, изменения в код внес, результата нет(

    @blobuz дайте, пожалуйста, ваш скайп и я с вами свяжусь

    @akho pasyugin.stas буду дома в 20:00 по москве

    • This reply was modified 1 year, 10 months ago by blobuz.

    @akho добрый вечер, а можно с Вами связаться, я тоже не совсем понял как это реализовать, плагин поставил, что то даже конвертнул что в баз появились размеры но они ни к чему не привязаны как будто просто сами по себе

Viewing 10 replies - 1 through 10 (of 10 total)
  • The topic ‘Индивидуальные аттрибуты’ is closed to new replies.