native_today
Forum Replies Created
Viewing 1 replies (of 1 total)
-
Forum: Plugins
In reply to: [Market Exporter] Название вариативного товараЗдравствуйте! Столкнулся с аналогичной проблемой. Заметил, что также писали об этом.
У меня на сайте много вариативных товаров – в файле для Яндекс.маркета они выводятся с одинаковым названием, что является проблемой, ибо Яндекс не разрешает публикацию в таком случае.Я реализовал решение, но: навыки программирования имею базовые, поэтому код совсем не 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, 5 months ago by native_today.
- This reply was modified 6 years, 5 months ago by native_today.
Viewing 1 replies (of 1 total)