将产品导入magento后,他们不会显示目录

时间:2010-08-23 00:05:48

标签: php import magento

我将产品导入magento后,看起来顺利没有错误;产品在商店中不可见。但是,如果我去任何产品并保存(即使没有改变任何东西),它立即可用。为什么这些产品不能立即显示......

运行最新的稳定版本。

由于

8 个答案:

答案 0 :(得分:4)

以编程方式解决此问题的最佳方法是

  1. 导入产品

  2. 通过一些自定义代码检查所有产品的属性

  3. 保存产品

  4. 通过一些自定义代码检查所有产品的属性

  5. 比较#2和#4的结果

  6. 确保您的导入过程明确设置了#2中缺少的所有属性,但存在于#4

  7. 这是我用来检查产品属性的剪辑。在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)

灵感来自艾伦风暴的答案,但是更低级别。

  1. 从空数据库开始。倾倒 它标记为一个SQL文件 original.sql
  2. 手动创建一个 产品
  3. 检查它是否可见。
  4. 将数据库转储到标记为的文件 manual.sql
  5. 通过导入覆盖您的数据库 original.sql
  6. 创建一个csv文件以导入 您选择并导入的产品 它。
  7. 将数据库转储到标记为的文件 automatic.sql
  8. 比较manual.sql和automatic.sql 彼此。你应该看到 问题依赖的地方。

答案 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)

对于我来说,此问题已通过在导入之前切换为英语来解决。

由于导入文件包含一些英语属性标签,因此应在为管理界面选择相同语言的同时执行导入。