Magento 数据流(高级)配置文件,默认值
Posted
技术标签:
【中文标题】Magento 数据流(高级)配置文件,默认值【英文标题】:Magento Dataflow (Advanced) Profile, default values 【发布时间】:2015-10-10 01:22:13 【问题描述】:我想从 CSV 创建导入,但我无法修改 CSV 文件。 所以我需要为 Magento 中的几个必填字段定义默认值(如“类型”(>简单产品)等。
我正在查看https://***.com/a/7319214/2252078 以制作自定义适配器,并在保存之前将缺少的必需值注入数组中。
但我已经收到一条错误消息:
Method "parse" not defined in adapter spaanproductions_basics/convert_adapter_product
所以我什至不能从我的自定义代码开始。
也许有人对如何创建一些默认值或如何解决此问题有更好的想法。
Magento 版本:1.9.1.1
提前致谢。 亲切的问候, 桑尼
【问题讨论】:
你能提供给我们你班级的php代码吗? Mage_Catalog_Model_Convert_Adapter_Product 类扩展了 Mage_Eav_Model_Convert_Adapter_Entity 并在其中直接具有 Parse 函数(没有任何父调用) 文件:app/code/local/Spaanproductions/Basics/Model/Covert/Adapter/Product.php:pastebin.com/D9UKFeFj 使用的数据流配置文件(高级):pastebin.com/WgcZy4cC 【参考方案1】:不确定是什么问题,您的代码似乎确实有效。你可以试试http://pastebin.com/vxewc0Zt。或者暂时重命名您的 app/code/local/Spaanproductions/Basics/Model/Covert/Adapter/Product.php 以验证正确的类实际上正在加载,尽管我非常怀疑这是问题
-- 编辑(见 cmets)-- 尝试将 spaanproductions_basics/convert_adapter_product 更改为 basics/convert_adapter_product 你的模型是在 basics 下定义的,而不是在 spaanproductions 下”
【讨论】:
我已经尝试了粘贴的代码,它不起作用。如果我重命名我的适配器,我仍然会得到同样的错误。所以看起来它没有加载正确的类?嗯,我的 config.xml 有什么问题吗? pastebin.com/zWSZtryL 小警告,我从不使用数据流中的构建,但是!您的 config.xml 似乎很好。基于blog.baobaz.com/en/blog/… 和blog.baobaz.com/en/blog/… 我确实注意到 有一个地图,你的 有一个这似乎不是要走的路。当您移除适配器 > spaanproductions_basics/convert_adapter_product 行时会发生什么? 如果我删除它就像我得到一个错误:Please declare "adapter" and "method" nodes first.
如果我将它更改为:<var name="adapter">catalog/convert_adapter_product</var>
它运行,但我得到错误Skip import row, is not valid value "" for field "type"
这就是我想要一个自定义适配器的原因;- )
我刚刚在我的日志中注意到 Magento 正在寻找 Mage/Spaanproductions/Basics/Model/Convert/Adapter/Product.php
不错! Tnx,就是这样!【参考方案2】:
首先,您必须将产品导出为 csv 文件以捕获结构,然后根据需要对其进行修改。
看看这个答案,它可能会有用:
Update Magento products with multiple images
【讨论】:
我假设您的意思是我需要修改要导入的 CSV?我不想这样做,因为我从分销商那里得到了这样的 CSV。所以我正在寻找一种方法来设置默认值,或者在导入之前通过钩子或自定义适配器修改导入数组。以上是关于Magento 数据流(高级)配置文件,默认值的主要内容,如果未能解决你的问题,请参考以下文章