• У товара есть несколько вариаций, а выгружается только название, без вариации. Можно ли добавить вариацию к названию товара?

Viewing 6 replies - 1 through 6 (of 6 total)
  • Plugin Author Anton Vanyukov

    (@vanyukov)

    @zagzig,

    Только через модификацию кода. Постараюсь на выходных написать инструкцию как сделать.

    С уважением,
    Антон

    Thread Starter zagzig

    (@zagzig)

    Спасибо, буду ждать.

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

    Я реализовал решение, но: навыки программирования имею базовые, поэтому код совсем не DRY. Если возможно, поправьте его.

    В /market-exporter/admin/class-market-exporter-wc.php
    с 399 строки, где в yml добавляется имя товара, внес изменения:

    
    if ( ! $type_prefix_set ) {
    	$attributes = $product->get_attributes();
    	$offer_name[] = $this->clean( $offer->get_title() );
    	foreach ( $attributes as $param ) {
    		$a = 'a';
    		if ( self::woo_latest_versions() ) {
    			$taxonomy = wc_attribute_taxonomy_name_by_id( $param->get_id() );
    		} else {
    			$taxonomy = $param['name'];
    		}
    
    		if ( isset( $param['variation'] ) && true === $param['variation'] || isset( $param['is_variation'] ) && 1 === $param['is_variation'] ) {
    			$param_value = $offer->get_attribute( $taxonomy );
    		} else {
    			$param_value = false;
    		}
    
    		// Skip if empty value (when cyrillic letter are used in attribute slug).
    		if ( ! isset( $param_value ) || empty( $param_value ) ) {
    			continue;
    		}
    		/* @var WC_Product_Attribute $param */
    		$offer_name[] = $param_value;
    	}
    	$beauty_attrs = implode(", ", $offer_name);
    	$yml .= '        <name>' . $beauty_attrs . '</name>' . PHP_EOL;
    }
    

    После 285 строки, внутри цикла while вставил $offer_name = [];

    Насколько адекватно это решение? И еще вопрос: для чего используется переменная ‘$a’ в цикле по перебору атрибутов? Это было реализовано на основе вывода атрибутов в yml-файл.

    • This reply was modified 6 years, 2 months ago by native_today.
    • This reply was modified 6 years, 2 months ago by native_today.

    @native_today Спасибо большое за Ваш код, не знаю сам адекватный он или нет, но главное что работает!!!!

    Подскажите, что именно вы заменили этим кодом?

    Уже разобрался ))

Viewing 6 replies - 1 through 6 (of 6 total)
  • The topic ‘Название вариативного товара’ is closed to new replies.