客户请求的空产品列表

时间:2014-11-28 01:23:24

标签: rest magento

我正在尝试使用来宾帐户通过REST API阅读Magento产品列表。我的Magento实例按预期响应GET /api/rest/products/1,其中包含:

<?xml version="1.0"?>
<magento_api>
  <entity_id>1</entity_id>
  <type_id>simple</type_id>
  <sku>simple_sku</sku>
  <name>simple</name>
  <meta_title/>
  <meta_description/>
  <description>description</description>
  <short_description>short description</short_description>
  <meta_keyword/>
  <tier_price/>
  <is_in_stock>0</is_in_stock>
  <regular_price_with_tax>100</regular_price_with_tax>
  <regular_price_without_tax>100</regular_price_without_tax>
  <final_price_with_tax>100</final_price_with_tax>
  <final_price_without_tax>100</final_price_without_tax>
  <is_saleable>0</is_saleable>
  <image_url>http://localhost/media/catalog/product/cache/0/image/9df78eab33525d08d6e5fb8d27136e95/images/catalog/product/placeholder/image.jpg</image_url>
  <url>http://localhost/index.php/catalog/product/view/id/1/s/simple/</url>
  <buy_now_url>http://localhost/index.php/checkout/cart/add/uenc/aHR0cDovL2xvY2FsaG9zdC9hcGkvcmVzdC9wcm9kdWN0cy8x/product/1/form_key/6DQ0mBsIua4HpuGN/</buy_now_url>
  <total_reviews_count>0</total_reviews_count>
  <has_custom_options/>
</magento_api>

但是,当我希望包含该产品的列表时,向同一个Magento实例询问使用GET /api/rest/products的产品列表会返回空结果:

<?xml version="1.0"?>
<magento_api/>

在调用oauth身份验证的用户时,结果会正确填充,但我需要将其用于访客帐户。

Guest REST角色已配置为获取“All”资源访问权限和“All”属性。我对Magento版本1.9.0.1和1.9.1.0有这种行为,对于两种格式:xml和json,(json返回[])。将“所有”访客设置更改为手动选中的复选框也无法解决此问题。

1 个答案:

答案 0 :(得分:0)

感谢blog post,我发现Magento没有显示REST API中的guest虚拟机产品缺货产品。要更改此行为,请修改设置System > Configuration > Catalog > Inventory > Stock options > Display out of stock products

这种行为的原因可能是,客人不应该看到不可用的产品,因为他们无法订购或做任何事情。同时管理员可以看到它们,因为它们可能对他有用(如果管理员角色已被授予该权限)。