我将产品导入magento后,看起来顺利没有错误;产品在商店中不可见。但是,如果我去任何产品并保存(即使没有改变任何东西),它立即可用。为什么这些产品不能立即显示......
运行最新的稳定版本。
由于
答案 0 :(得分:4)
以编程方式解决此问题的最佳方法是
导入产品
通过一些自定义代码检查所有产品的属性
保存产品
通过一些自定义代码检查所有产品的属性
比较#2和#4的结果
确保您的导入过程明确设置了#2中缺少的所有属性,但存在于#4
这是我用来检查产品属性的剪辑。在phtml模板,自定义控制器等中运行此类似的东西。
var_dump(
Mage::getModel('catalog/product')
->getCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('sku','SKUGOESHERE')
->getFirstItem()
->getData()
);
答案 1 :(得分:2)
对于遇到此问题的其他人:我通过确保为产品设置websiteid
来解决此问题。如果您使用的是自定义脚本,请记住添加以下内容:
$product->setWebsiteIds(array(Mage::app()->getStore(true)->getWebsite()->getId()));
答案 2 :(得分:1)
灵感来自艾伦风暴的答案,但是更低级别。
答案 3 :(得分:0)
确保您已进入管理界面并在系统>索引管理下选择全部并从右上角的下拉列表中选择“Reindex”。执行。
此外,刷新系统>缓存管理下的缓存,并且为了更好地衡量,删除var / cache中的所有文件。
如果不能解决问题,请回复以获取更多建议。
答案 4 :(得分:0)
用dtcuk的解决方案修复它。请注意:
setWebsiteIds(array(
基本上即使您只想设置1个网站ID,您仍然需要传递一个包含1个网站ID的数组。
答案 5 :(得分:0)
我遇到了同样的问题。这里缺少网站ID。然后它应该工作。
$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();
答案 6 :(得分:0)
我有同样的事情,经过长时间的排查后我发现,我的CSV丢失了一个字段:“_ product_websites”,其值为“base”(所有项目都相同)。
答案 7 :(得分:0)
对于我来说,此问题已通过在导入之前切换为英语来解决。
由于导入文件包含一些英语属性标签,因此应在为管理界面选择相同语言的同时执行导入。