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

Wp All Import/Наличие товара available="true"

metaworklawyer

Новичок
PHP:
// [checkAvailable({./@available})] - вызов функции

function checkAvailable ($available) {
if ($available == "true") {
$stock = "instock";
} else {
$stock = "outofstock";
}
return $stock;
}
Она проверяет какое наличие стоит, если "true" то возвращает "instock" (так требует модуль), если другое - "outofstock". Куда вставлять вызов функции думаю сами разберетесь)
наличие товара available="true" - если есть в наличии
если нет в наличии то available=""

Как прописать подскажите пожалуйста такие условия?
 

Bulo4ka

Новичок
присоединяюсь к вопросу выше, как и где прописать чтобы остатки считались от условия available="true", потому что отдельно поля количества нет , только либо true либо пусто. кто нибудь подскажет? прописываю это условие в Function Editor ничего не срабатывает
 

Kiwikov

Новичок
наличие товара available="true" - если есть в наличии
если нет в наличии то available=""

Как прописать подскажите пожалуйста такие условия?

Выше изложенный способ подходит для определения наличия, если в файле от поставщика нет количества в наличии, а просто прописано available="true". Дайте угадаю, поставщик просто удяляет позицию из xml файла, если его нет в наличии?

Если я всё правильно понял, то ваша функция будет работать только в основном файле импорта. (То есть не тот, который отдельно обновляет цену и наличие, а именно тот, который загружает весь контент).

Этот код вставляем в function:

Код:
function checkAvailable ($available) {
if ($available == "true") {
$stock = "instock";
} else {
$stock = "outofstock";
}
return $stock;
}

Не забываем, что поле функции должно начинать с
Код:
<?php
И заканчиваться:
Код:
?>

А вот этот кусок кода:
Код:
[checkAvailable({./@available})]

Поместите в поле Stock status и не забудьте отключить остатки

1.png

Очень важно! Помнить, что ваш поставщик тупо удаляет товары, которых нет в наличии, соответственно в настройках импорта делаем следующие настройки:
Opera Снимок_2022-01-08_033844_virtu.com.ua.png

чем сообщаем Wp All Import о том, что если в нашем файле импорта нет товаров, которые мы ранее выгружали на сайт их статус нужно перевести в "нет в наличии".

Но опять же, помните, это работает только в основном импорте, что делает этот способ обновления наличия убогим, если у вас больше 1к товаров. У меня 10к товаров и такое обновление может длится 6-8 часов. Другого способа обновить наличие, когда заказчик даёт не стоки, а значение available пока не нашел.
 

Kiwikov

Новичок
В ходе поиска решения обратил внимание, что всё что я выше писал бесполезно совсем, так как в основном импорте есть такая галочка, которая делает всё то же самое без всей описанной чуши.

2.png
 

PablitoGOU

Новичок
В ходе поиска решения обратил внимание, что всё что я выше писал бесполезно совсем, так как в основном импорте есть такая галочка, которая делает всё то же самое без всей описанной чуши.

Посмотреть вложение 5748

Здравствуйте. А у меня нет этого параметра, есть только нижние две, подскажите, пожалуйста, почему так ?
 

cscscs

Новичок
В ходе поиска решения обратил внимание, что всё что я выше писал бесполезно совсем, так как в основном импорте есть такая галочка, которая делает всё то же самое без всей описанной чуши.

Посмотреть вложение 5748
Извиняюсь за подъем старой темы, у меня тоже нет этого пункта, и могли бы подсказать код для available false, то есть товар поставщик не удаляет, а просто меняется значение
 

dim70

Опытный
Плагин очень функциональный, мощный и сложный. Большое количество нюансов и т.д. и т.п., поэтому общие формулировки: "я все сделал как там, но не работает", не досказанность: "значение "available" , и один артикул..." и тут же "все размеры все равно импортируются" - не позволяют дать точного правильного решения)
 

joy66

Опытный
Местный
У меня товар - обувь. Каждый размер имеет значение "available" , и один артикул. После проделанных рекомендаций все размеры все равно импортируются без учета этого значения
Код который надо подставлять, зависит от типа источника для импорта и. Если это xml/yml код один, если табличный (xlsx,csv) - может быть другой.
Решение, которое выше справедливо будет вот для такой строки в источнике. При том, что offer это корневой узел
Код:
<offer id="823796" available="true">
Что у вас там?
 

cscscs

Новичок
Код который надо подставлять, зависит от типа источника для импорта и. Если это xml/yml код один, если табличный (xlsx,csv) - может быть другой.
Решение, которое выше справедливо будет вот для такой строки в источнике. При том, что offer это корневой узел
Код:
<offer id="823796" available="true">
Что у вас там?
У меня ссылка xml. Строчка выглядит вот так "<offer id="115408" type="vendor.model" available="false">"
 

k4m1k4dz3

Новичок
я решил задачу по другому.
в самом начале выбора файла для импорта я отфильтровал только те товары у которых available=true и просто проставил custom field stock_status - instock. Метод удаление товаров описаный выше только при импорте с созданием новых товаров работает. Как вариант для того чтобы обновлять товары которых нет в наличии создаете второй импорт и в начале фильтруете все товары которые available=false, и проставляете сток статус - outofstock.
 
Сверху Снизу