【问题标题】:after importing products into magento they dont show up catalog将产品导入magento后,他们不显示目录
【发布时间】:2010-08-23 00:05:47
【问题描述】:

在我将产品导入magento之后,它看起来很顺利,没有错误;产品在商店中不可见。但是,如果我去任何产品并保存(即使没有更改任何内容)它也可以立即使用。为什么这些产品不能马上看到...

运行最新的稳定版本。

谢谢

【问题讨论】:

  • 你确定这是一道编程题吗?因为听起来你最好在superuser.com
  • 是的,这绝对是编程相关的......不幸的是:(
  • 我从我写的刮板生成我自己的 csv 文件...似乎导入很好我只是不确定为什么它们没有立即激活?

标签: php import magento


【解决方案1】:

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

  1. 导入产品

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

  3. 保存产品

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

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

  6. 确保您的导入过程明确设置 #2 中缺少但出现在 #4 中的任何属性

这是我用来检查产品属性的截图。在 phtml 模板、自定义控制器等中运行它或类似的东西。

var_dump( 
Mage::getModel('catalog/product')
->getCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('sku','SKUGOESHERE')
    ->getFirstItem()
->getData()
);

【讨论】:

  • pastebin.com/fMgjDQRU 那就是你之前提到的输出顶部是一个可见的产品,底部是在前端没有出现的......似乎仍然找不到原因
  • 我忘记了其中的方法调用 (->getFirstItem())。试一试编辑后的代码,它应该会给你所有的属性。
【解决方案2】:

对于遇到此问题的其他人:我通过确保您为产品设置 websiteid 来解决它。如果您使用的是自定义脚本,请记住添加以下内容:

$product->setWebsiteIds(array(Mage::app()->getStore(true)->getWebsite()->getId()));

【讨论】:

    【解决方案3】:

    灵感来自 Alan Storm 的回答,但级别较低。

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

    【讨论】:

      【解决方案4】:

      用 dtcuk 的解决方案修复它。请注意:

      setWebsiteIds(array(
      

      基本上,即使您只想设置 1 个网站 id,您仍然需要传递一个具有 1 个网站 id 的数组。

      【讨论】:

        【解决方案5】:

        确保您已进入管理界面并在系统>索引管理下全选并从右上角的下拉菜单中选择“重新索引”。执行。

        此外,刷新系统>缓存管理下的缓存,并删除 var/cache 中的所有文件。

        如果这不能解决问题,请反馈以获取更多建议。

        【讨论】:

        • 我已经重新索引并删除了所有缓存...仍然没有运气。
        • 这是我导入的示例 商店网站属性_设置类型 category_ids sku has_options name image small_image thumbnail price cost status tax_class_id is_recurring visibility description short_description product_type_id product_name qty min_qty is_in_stock manage_stock weight
        • 这里有一个链接让它更容易阅读我不知道它看起来会如此失态pastebin.com/VUkeihNG
        • 我想你会的,但必须问:) 嗯。我有一个类似的问题(stackoverflow.com/questions/3350146/…),我从来没有解决过......我实际上无法阅读您作为示例粘贴的内容,也许可以尝试编辑您的问题并将粘贴格式化为代码。检查 Inventory 数据是否正确,可以尝试在 System>Config>Inventory 下打开 Display out of stock products 以验证它是否与 Inventory 相关。
        • 另一个选项是打开 phpmyadmin 并查看catalog_product_flat 表并确保值看起来正确。虽然从 EAV 模型中读取实时数据,但平面表可能会为您提供一些关于问题所在的线索。
        【解决方案6】:

        我遇到了同样的问题。这里缺少网站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();
        

        【讨论】:

          【解决方案7】:

          我也遇到过同样的问题,经过长时间的故障排除后,我发现我的 CSV 缺少一个字段:“_product_websites”,其值为“base”(所有项目都相同)。

          【讨论】:

            【解决方案8】:

            在我的情况下,问题是通过在导入之前切换到英语来解决的。

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2014-11-19
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多