После того, как я импортирую продукты в пурпурный, который, кажется, идет гладко без ошибок; продукты не видны в магазине. однако, если я перехожу к любому продукту и сохраняю (даже не меняя ничего), он мгновенно доступен. Почему эти продукты не видны сразу …
Запуск последней стабильной сборки.
благодаря
Лучший способ решить эту проблему программно – это
Импорт продукта
Изучите все атрибуты продукта с помощью специального кода
Сохранить продукт
Изучите все атрибуты продукта с помощью специального кода
Сравните результаты # 2 и # 4
Убедитесь, что ваш процесс импорта явно устанавливает любые атрибуты, отсутствующие в # 2, но присутствующие в # 4
Вот что нужно сделать, чтобы изучить атрибуты продукта. Запустите это или что-то подобное в шаблоне phtml, настраиваемом контроллере и т. Д.
var_dump( Mage::getModel('catalog/product') ->getCollection() ->addAttributeToSelect('*') ->addAttributeToFilter('sku','SKUGOESHERE') ->getFirstItem() ->getData() );
Вдохновленный от ответа Алана Шторма, но более низкого уровня.
Для тех, у кого есть эта проблема: я решил это, убедившись, что вы установили websiteid
для продукта. Если вы используете собственный скрипт, не забудьте добавить следующее:
$product->setWebsiteIds(array(Mage::app()->getStore(true)->getWebsite()->getId()));
Исправлено это с решением dtcuk. Пожалуйста, обратите внимание:
setWebsiteIds(array(
В принципе, даже если есть только один идентификатор сайта, который вы хотите установить, вам все равно придется передать массив с 1 идентификатором сайта.
Убедитесь, что вы вошли в интерфейс администратора и в разделе «Система»> «Управление индексами» выберите все и выберите «Reindex» в раскрывающемся списке справа вверху. Выполнить.
Кроме того, обновите кеширование в разделе «Система»> «Управление кешем» и, в хорошем смысле, удалите все файлы в var / cache.
Если это не исправить, сообщите о дополнительных предложениях.
Я испытал ту же проблему. Здесь отсутствует идентификатор веб-сайта. Тогда это должно сработать.
$newProduct = Mage::getModel('catalog/product') ->setAttributeSetId('9') ->setTypeId('simple') ->setStatus(1) ->setTaxClassId(2) ->setWebsiteIds(array(1)) ->setVisibility(4) ->setSku($sku) ->setName($name) ->setDescription($description) ->setShortDescription($shortDescription) ->setPrice($price) ->save();
У меня было то же самое, и после долгого поиска неисправностей, который я обнаружил, в моем CSV отсутствовало одно поле: «_product_websites» со значением «base» (одинаково для всех элементов).