我有一个不寻常的客户请求如下: -
客户已选择特定颜色(通过分层导航),但此颜色不是分配给可配置选项的颜色。这里有一个例子。顾客选择红色,但这可能是红色,深红色或burgandy。然后,我需要显示此产品的3个副本,并选择正确的颜色以显示列表对象的媒体部分。
我扩展了Product_list块并添加了一个名为getColourProductCollection()的函数,它是_getProductCollection()函数的扩展。属性为filter_colour(分层导航中显示的属性(主要颜色),可配置属性称为config_colour(次要/真彩色)。
我意识到这将是一项相当多的工作,但这是我的客户坚持前进的一项功能。我的代码正在工作,我的扩展函数被调用(并且正在返回正常的集合)。我可以通过循环查找子项的所有产品并添加具有正确的主要颜色属性的任何产品来构建此对象。我的问题是如何将此作为集合返回,就像getLoadedProductCollection()函数调用的情况一样?处理图像交换代码已经实现了很多,只要我返回一个集合以适应现有的列表模板。
提前感谢您提出任何建议或指示。
P.S。我找到了这个页面http://www.blog.magepsycho.com/how-to-convert-an-array-to-a-collection-object-in-magento/,它允许我创建和添加每个项目。这是一个很好的方式来进行吗?
p.p.s。在进一步手动添加(上面的p.s.)后,我意识到我再次添加相同产品的那一刻它不会将它添加到集合中。