我找不到任何关于此的文件,我甚至不知道它是否可行。 我需要出口一些产品,我已经有了个人资料,因为这个出口是针对像nextag.com或pricegrabber.com这样的竞争网站,我们只想出口少数产品,而不是我们现有的3000个产品。
我可以创建一个名为Export的布尔属性。
问题是如何在配置文件中仅导出导出设置为yes的产品?
这是它生成的代码:
<action type="catalog/convert_adapter_product" method="load">
<var name="store"><![CDATA[5]]></var>
<var name="filter/type"><![CDATA[simple]]></var>
<var name="filter/price/from"><![CDATA[90]]></var>
<var name="filter/price/to"><![CDATA[6000]]></var>
<var name="filter/status"><![CDATA[1]]></var>
</action>
<action type="catalog/convert_parser_product" method="unparse">
<var name="store"><![CDATA[5]]></var>
<var name="url_field"><![CDATA[1]]></var>
</action>
<action type="dataflow/convert_mapper_column" method="map">
<var name="map">
<map name="sku"><![CDATA[MPN/UPC]]></map>
<map name="brand"><![CDATA[Manufacturer]]></map>
<map name="name"><![CDATA[Product Name]]></map>
<map name="product_link"><![CDATA[product_link]]></map>
<map name="condition"><![CDATA[Product Condition]]></map>
<map name="price"><![CDATA[Selling Price]]></map>
<map name="shipping_costs"><![CDATA[Shipping costs]]></map>
<map name="weight_box1"><![CDATA[Weight]]></map>
</var>
<var name="_only_specified">true</var>
</action>
<action type="dataflow/convert_parser_csv" method="unparse">
<var name="delimiter"><![CDATA[,]]></var>
<var name="enclose"><![CDATA["]]></var>
<var name="fieldnames">true</var>
</action>
<action type="dataflow/convert_adapter_io" method="save">
<var name="type">file</var>
<var name="path">var/export</var>
<var name="filename"><![CDATA[nextagfeed.csv]]></var>
</action>
感谢
答案 0 :(得分:4)
尝试将导出过滤器添加到您的操作xml
<var name="filter/export"><![CDATA[1]]></var>
像
这样的东西<action type="catalog/convert_adapter_product" method="load">
<var name="store"><![CDATA[5]]></var>
<var name="filter/type"><![CDATA[simple]]></var>
<var name="filter/price/from"><![CDATA[90]]></var>
<var name="filter/price/to"><![CDATA[6000]]></var>
<var name="filter/status"><![CDATA[1]]></var>
<var name="filter/export"><![CDATA[1]]></var>
</action>
<action type="catalog/convert_parser_product" method="unparse">
<var name="store"><![CDATA[5]]></var>
<var name="url_field"><![CDATA[1]]></var>
</action>
<action type="dataflow/convert_mapper_column" method="map">
<var name="map">
<map name="sku"><![CDATA[MPN/UPC]]></map>
<map name="brand"><![CDATA[Manufacturer]]></map>
<map name="name"><![CDATA[Product Name]]></map>
<map name="product_link"><![CDATA[product_link]]></map>
<map name="condition"><![CDATA[Product Condition]]></map>
<map name="price"><![CDATA[Selling Price]]></map>
<map name="shipping_costs"><![CDATA[Shipping costs]]></map>
<map name="weight_box1"><![CDATA[Weight]]></map>
</var>
<var name="_only_specified">true</var>
</action>
<action type="dataflow/convert_parser_csv" method="unparse">
<var name="delimiter"><![CDATA[,]]></var>
<var name="enclose"><![CDATA["]]></var>
<var name="fieldnames">true</var>
</action>
<action type="dataflow/convert_adapter_io" method="save">
<var name="type">file</var>
<var name="path">var/export</var>
<var name="filename"><![CDATA[nextagfeed.csv]]></var>
</action>
这告诉magento按价格状态和导出属性过滤产品集合,因为export是布尔值,你需要在这种情况下设置相应的布尔值1为真。
现在,如果这不起作用,可能更容易添加产品Parser并使用高级导入。让我知道它是怎么回事。
好的,现在我们知道最终不起作用,但让我们看看为什么它不起作用。原因是我们错过了打开适配器的过滤器
app/core/Mage/Catalog/Model/Convert/Adapter/Product.php
查找第99行附近的加载函数:
public function load()
{
$attrFilterArray = array();
$attrFilterArray ['name'] = 'like';
$attrFilterArray ['sku'] = 'startsWith';
$attrFilterArray ['type'] = 'eq';
$attrFilterArray ['attribute_set'] = 'eq';
$attrFilterArray ['visibility'] = 'eq';
$attrFilterArray ['status'] = 'eq';
$attrFilterArray ['price'] = 'fromTo';
$attrFilterArray ['qty'] = 'fromTo';
$attrFilterArray ['store_id'] = 'eq';
$attrToDb = array(
'type' => 'type_id',
'attribute_set' => 'attribute_set_id'
);
在商店ID下方添加新过滤器
$attrFilterArray ['is_imported'] = 'eq';
干杯