Magento API V2 — фильтрация по полям, которые никогда не устанавливались для продукта

Как искать товары, для которых это поле никогда не было задано?

Я пытаюсь отфильтровать продукты, используя следующий код:

$filters = array(
    "filter" =>
        array(
            array("key" => "sku", "value" => "examplesku123")
        ),
    "complex_filter" => array(
        array(
            "key" => "barcode",
            "value" => array(
                "key" => "null",
                "value" => ""
            )
    )
);
$result = $client->catalogProductList($session, $filters);

 print "<pre>";
 print_r($result);
 print "</pre>";

В примере продукта не задано значение в поле штрих-кода в Magento. Однако, когда я запускаю этот код, он не возвращает продукт.

Я попытался изменить сложный фильтр на «eq», переместив его в обычные фильтры, даже установив значение «NO FIELD», но он ничего не показывает.

У меня нет доступа к базе данных, поэтому я не могу показать вам, как она выглядит в бэкенде. Однако в панели администратора я вижу, что в поле штрих-кода ничего нет.

Мне удалось заставить этот код работать для других SKU, поэтому я могу только предположить, что он не находит этот продукт, поскольку для него никогда не было ничего задано (и, предположительно, поле не «доступно» и, следовательно, не NULL).


person Jo H    schedule 19.02.2018    source источник


Ответы (1)


может ваш сложный фильтр не работает, потому что вы забыли удалить обычный фильтр?

как это

$filters = array(
    "complex_filter" => array(
        array(
            "key" => "barcode",
            "value" => array(
                "key" => "null",
                "value" => ""
            )
        )
    )
);
$result = $client->catalogProductList($session, $filters);

также убедитесь, что «штрих-код» является допустимым кодом атрибута.

person Vladimir Samsonov    schedule 19.02.2018
comment
В данном случае я показываю обычный фильтр только в качестве примера. Этот продукт не имеет связанного с ним штрих-кода, поэтому, если я удалю обычный фильтр, я ожидаю увидеть, что SKU вернется в набор результатов. Однако это не так. Также штрих-код является допустимым кодом атрибута :) - person Jo H; 19.02.2018