magento -- 现有畅销排行(Bestseller)插件中存在的问题

一直以来,实现畅销排行(Bestseller)的插件或自己写的模块,其核心的代码都是一致的,如下:

 

$products = Mage::getResourceModel('reports/product_collection')
->addOrderedQty()
//->addAttributeToSelect('*')
->addAttributeToSelect(array('name', 'price', 'small_image', 'short_description', 'description')) //edit to suit tastes
->setStoreId($storeId)
->addStoreFilter($storeId)
->setOrder('ordered_qty', 'desc');  

 

原理是从销售记录的表中取出数据按产品销量排序,正常情况下取出的数据没有问题,但在类似服装站这种大量使用可配置产品(Configurable Product)的情况下,会发现这种排序只能针对简单产品(Simple Product),即便是如Luxe_Bestsellers这个插件那样可以显示可配置产品到畅销排行,其原理也是获取销量最好的简单产品,根据简单产品去获得其对应的父产品(可配置产品),这时候排序就很有可能是不正确的。比如1号可配置产品的某个颜色的某个尺码卖了20件,而其它颜色尺码总共只卖了几件,而2号可配置产品的所有颜色尺码的销量远超1号,比如有50件,但只要2号可配置产品没有任何一件子产品销量超过20,在排行榜上2号就会在1号之后。

如何让销量的排行真实,还在研究中………………

时间: 2024-10-02 19:34:32

magento -- 现有畅销排行(Bestseller)插件中存在的问题的相关文章

ESFramework使用技巧(3) - 在插件中使用Spring.net

根据插件的"自治"性,插件如果需要配置信息,则插件应该自己能读取和修改配置信息,而不是框架或宿主来完成这些事情.这种松耦合特性,我们曾在ESFramework介绍之(29)―― 插件公共设施 AddinUtil 一文中特别强调过. 当一个插件非常复杂时,可能需要大量的配置信息或装配信息,使用Spring.net的IOC容器实现自动装配是一种非常方便的方法,我们的插件需要自己来操作Spring.net容器,而不是依赖于框架或宿主应用.而且,宿主应用通常也有自己的复杂的配置需要管理.在ES

ESFramework使用技巧(2) - 在插件中使用NHibernate

我们来讨论一下这种情景,你采用基于ESFramework的4层架构进行应用开发,你分析用户的需求,并将其分类整理为几大块,考虑每一块使用一个功能插件来完成.在这几个插件中,有个插件需要访问某个数据库,并且只有这个插件需要访问这个数据库,根据插件的"自治"性质,你不想将本插件中的数据访问"上升蔓延"到应用程序(FS),而是让它"仅仅"在本插件中,这样,无论是对FS还是插件都是有好处的--FS自己不需要访问数据库(日志记录除外),插件"自治

具体函数-急,求解 .. 表中有一个关键词字段,现有1000条数据,关键词中不重复的词语。

问题描述 急,求解 .. 表中有一个关键词字段,现有1000条数据,关键词中不重复的词语. 1.mysql数据库中有一张表,现有1000条数据.表中有一个关键词字段,每个关键词都是由多个词组成的数组.用"|"或","或用空格分开的.现在要求得到所有关键词中不重复的词语. 例:关键词:01. 辽宁|上海|中国|国际,亚洲,欧洲 02. 辽宁,中国,天津,山东 结果:辽宁 上海 中国 国际 亚洲 欧洲 天津 山东 数据:数据库名字:qwer 表名:qaz 数据条数:10

请问哪位大侠知道如何读取max插件中的纹理路径哈

问题描述 请问哪位大侠知道如何读取max插件中的纹理路径哈 我将一个revit模型转换成FBX格式,然后在max2014中打开,这个模型包含多种材质,其中一种材质里面还包含纹理信息,但是该纹理没有存储到普通位图中,而是存在了,如下图所示的选项中.这样就造成我在做max插件时,无法通过材质Texmap的GetMapname()函数来获取了纹理路径名字了.我找了好久,查了好多资料都没有找到获取纹理路径的方法.请问有哪位大侠能够指点一下哈,不胜感激~~

js-jqGrid 插件中的“*”不显示。从后台查询到的数据是“孟**”,但是只显示了“孟”

问题描述 jqGrid 插件中的"*"不显示.从后台查询到的数据是"孟**",但是只显示了"孟" 用jqGrid的数据表格中,不显示星号了,但是从后台查询的数据是带星号的. 解决方案 看下有没有转义,看下源代码等 解决方案二: VC中ComboBox下拉列表不显示数据或只显示一行问题VC中ComboBox下拉列表不显示数据或只显示一行问题

如何在插件里渲染另一个插件中的vm文件?

问题描述 我写了一个插件,想使用TemplateRenderer接口渲染存放在另一个插件中的vm模板文件,不知道那位高手能解答一下.

DSO Framer 控件打开Word的时候,自己编写的VSTO插件中的事件不加载

问题描述 外部手动打开Word的时候都是正常的,但通过DSOFramer控件打开文档的时候,用Vsto编写的Word插件中的"Application_DocumentOpen"等函数都不响应了,有会的大牛么?该问题如果能解决,留下微信,红包奉上!!!!!!!!!!!! 解决方案

jquery插件-ztree插件中怎么单一修改某一节点的样式?

问题描述 ztree插件中怎么单一修改某一节点的样式? 如题,刚接触ztree,不知道怎么修改它的样式,不是去css文件里直接修改吧? 解决方案 view配置节点的fontCss来控制 function setFontCss(treeId, treeNode) { return treeNode.id==121 ? { color: "red"} : {}; } var setting = { view: {fontCss: setFontCss}, //...其他配置 }

ios-AppCan中 iOS原生代码 调试插件 中出现的问题

问题描述 AppCan中 iOS原生代码 调试插件 中出现的问题 在调试插件过程中 index.html中的 按钮可以调用createDemo(); 但是createDemo();中得uexDemo.open是怎么回调的? function createDemo(){ alert("----"); uexDemo.open('0','120','320','416'); } uexDemo在plugin.xml中写了 <?xml version="1.0" e