• Вопрос без рабочей ссылки на проблему считается риторическим. Без ссылки и скриншота - провокацией!
  • Темы озаглавленные с маленькой буквы или капсом удаляются без предупреждения!

Решено Импорт из YML

Igorsrt

Форумчанин
Здравствуйте! Пытаюсь импортировать данные из yml (xml) файла с помощью плагина WP All Import Pro и его дополнения WP All Import - WooCommerce Add-On Pro.
Вроде бы все получается, за исключением одного: в xml файле свойства товаров прописаны так:
Код:
<param name="Материал каркаса">металл</param>
<param name="Ортопедическое основание">в комплекте</param>
<param name="Материал ортопедического основания">с деревянными ламелями</param>
<param name="Цвет каркаса">Белый каркас</param>
<param name="Размер спального места">160 х 200 см</param>
Соответственно у каждого товара этих "param name" может быть разное количество и они могут отличаться... Поэтому, я даже не пытаюсь пока "засунуть" их в атрибуты товара, а просто хочу вставить в описание - в результате на странице появляется:
металл
в комплекте
деревянными ламелями
Белый каркас
160 х 200 см
т.е. сами названия свойств не выводятся... Можно ли как-то заставить WP All Import их подцеплять? (вот в этом видео http://www.azoogle.ru/wp-all-import-woocommerce/ у автора параметры выводятся именно так в кратком описании - но как этого добиться, он скромно умолчал)
Или, может быть, есть какой-то специальный плагин для импорта именно из yml?
 

Igorsrt

Форумчанин
решил вопрос путем правки xml файла... жалко что нет более "красивого" способа (
 

pagemaster

Форумчанин
Здравствуйте! Пытаюсь импортировать данные из yml (xml) файла с помощью плагина WP All Import Pro и его дополнения WP All Import - WooCommerce Add-On Pro.
Прошел год)) но все-же поделитесь инфой как импортировали категории (структуру) товаров? Ведь к товару категория указывается в виде ID, а в начале файла идет список категорий и родительских категорий... как сделать "связку" этих ID при импорте? Ведь импортировать все товары в одну большую кучу не вариант...
Или подскажите может встречали плагин чисто для импорта YML?
 

Bender Zadunaiskiy

Новичок
решил вопрос путем правки xml файла... жалко что нет более "красивого" способа (
Есть!
Вчера целый день потратил на поиск решения, шерстил интернет, разбирался в xml....
В итоге догадался случайно.. решение оказалось очень простым:
У Вас есть в файле такой параметр <param name="Материал каркаса">металл</param>, Вы перетаскиваете в поле "описание" сам тег <param> и у Вас импортируется значение "металл"... А надо тыкать мышкой не в сам тег <param>, а в атрибут "name" и его перетаскивать в поле "описание", тогда импортируется само имя атрибута! Синтаксис при этом выглядит вот так {param[1]/@name}

Т.е. в Вашем случае перетаскиваете сначала <param>, затем "name", получится: {param[1]/@name} - {param[1]} , а в карточке товара будет: Материал каркаса - металл

Единственный момент - работает если в поле "дескрипшн" засовывать, пробовал в атрибуты засунуть - не импортируется...
 

pagemaster

Форумчанин
Есть!
Вчера целый день потратил на поиск решения, шерстил интернет, разбирался в xml....
В итоге догадался случайно.. решение оказалось очень простым:
У Вас есть в файле такой параметр <param name="Материал каркаса">металл</param>, Вы перетаскиваете в поле "описание" сам тег <param> и у Вас импортируется значение "металл"... А надо тыкать мышкой не в сам тег <param>, а в атрибут "name" и его перетаскивать в поле "описание", тогда импортируется само имя атрибута! Синтаксис при этом выглядит вот так {param[1]/@name}

Т.е. в Вашем случае перетаскиваете сначала <param>, затем "name", получится: {param[1]/@name} - {param[1]} , а в карточке товара будет: Материал каркаса - металл

Единственный момент - работает если в поле "дескрипшн" засовывать, пробовал в атрибуты засунуть - не импортируется...
На счет характеристик, то нашел способ по проще:
[FOREACH({param})]
{@name} - {.}
[ENDFOREACH]
это цикл, который выводит название и значение всех характеристик, соответственно можно добавить еще html теги для оформления:
HTML:
<ul class="attributes">
[FOREACH({param})]
<li><span class="attribute_name">{@name}</span>: <span class="attribute_value">{.}</span></li>
[ENDFOREACH]
</ul>
а на счет связки категорий по их id, то пока нашел только такое решение:
Screenshot_1.png

в идеале думаю можно написать функцию-обработчик, но моих знаний пока не хватает))
 

pagemaster

Форумчанин
вдруг кому пригодится, код функции конвертации цены с одной валюты в другую в YML файле:
PHP:
function price_converter ($price, $currency){
    if ($currency == "USD") {
        $converted_price = $price * 25.144111; // курс нужно указывать самому
        $converted_price = round($converted_price, 2);
        return $converted_price;
    } else {
        return $price;
    }
}
а в Regular Price вставляем вызов функции: [price_converter({price[1]}, {currencyId[1]})]
 
  • Like
Реакции: ADv
Сверху Снизу