【问题标题】:How to fetch products in magento by product's attribute如何按产品属性在magento中获取产品
【发布时间】:2013-09-26 16:18:13
【问题描述】:

我需要为通过设置为“用途”的自定义属性过滤的产品创建一个新的视图模板文件。

到目前为止一切顺利,我有一个按可见性列出产品的模板文件:

<?php
$visibility = array(
  Mage_Catalog_Model_Product_Visibility::VISIBILITY_BOTH,
  Mage_Catalog_Model_Product_Visibility::VISIBILITY_IN_CATALOG
);

$storeId = Mage::app()->getStore()->getId();
$_productCollection = Mage::getResourceModel('reports/product_collection')
    ->addAttributeToSelect('*')
    ->addOrderedQty()
    ->addAttributeToFilter('visibility', $visibility)
    ->setOrder('ordered_qty', 'desc');
?>

如何让这个代码查询“目的”?

【问题讨论】:

  • purpose 属性使用哪种数据类型?
  • 目的是一个字符串。 “减肥”、“增肌”、“能量”等
  • 嗯,为了确定一下:您是否在将purpose 属性添加到产品后刷新了所有索引?添加purpose 属性后,您是否已经成功完成了至少一个订单?此订单是否包含至少一种类型为bundleconfigurablegrouped 的产品并且具有适当的可见性?

标签: magento product custom-attributes


【解决方案1】:

您可以像添加可见性一样添加它:

$_productCollection = Mage::getResourceModel('reports/product_collection')
    ->addAttributeToSelect('*')
    ->addOrderedQty()
    ->addAttributeToFilter('visibility', $visibility)
    ->addAttributeToFilter('purpose', 'weight-loss')
    ->setOrder('ordered_qty', 'desc');

【讨论】:

  • 谢谢,但我如何才能将“减肥”之类的目的传递给查询?
  • 检查我修改后的答案,我现在明白了;)
  • 一定是属性没有被拉取。您的意思是使用“reports/product_collection”资源模型吗?
  • 我使用了reports/product_collection 来获取订单数量为“ordered_qty”的产品。
  • 啊。当您将产品导出到 csv 时,在其“用途”列下选择“减肥”的产品的价值是多少?它可能是一个数字。如果这不起作用,您可能需要使用另一个集合进行比较。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-22
  • 1970-01-01
  • 1970-01-01
  • 2018-03-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多