关键词:
【中文标题】如何使magento过滤器像类别一样工作【英文标题】:how to make magento filter works like category 【发布时间】:2015-07-01 06:20:10 【问题描述】:我想让 magento 中的类别使用属性/过滤器。
假设我有一个属性“CupAttr”,它不用于分层导航。然后我创建了一个名为 CupCat 的类别,它使用“CupAttr”来拉取产品以在 CupCat 类别中显示它们。
这可能吗?我想这样做的原因是我想尽量减少分类产品的维护。
谢谢
已编辑:
Amit 的解决方案完美运行,但这带来了另一个问题。列表中显示的产品与可以从分层导航中过滤的产品不同。
我实际上需要为任何类别选择所有产品(因为我不会将任何产品添加到任何类别,它们都是空白的),然后我开始按属性过滤该特定类别的产品。
再次感谢。
【问题讨论】:
这意味着您希望始终按 CupAttr 过滤 CupCat 类别集合 【参考方案1】:在这种情况下,你可以使用magento event/observer.
在事件 catalog_block_product_list_collection
上挂钩观察者。
然后使用addAttributeToFilter('CupAttrAttibiteCode')
;按 CupAttr 过滤集合。
config.xml 代码:
<?xml version="1.0"?>
<config>
<global>
<models>
<xyzcatalog>
<class>Xyz_Catalog_Model</class>
</xyzcatalog>
</models>
<events>
<catalog_block_product_list_collection> <!-- event -->
<observers>
<xyz_catalog_block_product_list_collection>
<type>singleton</type>
<class>Xyz_Catalog_Model_Observer</class>
<method>apply_CupAttr_filter</method>
</xyz_catalog_block_product_list_collection>
</observers>
</catalog_block_product_list_collection>
</events>
</global>
</config>
观察者代码位置:
创建目录结构-app/code/local/Xyz/Catalog/Model/Observer.php
第一个“CupAttr”用于产品列表,用于使用此属性进行过滤
<?php
class Xyz_Catalog_Model__Observer
public function __construct()
public function apply_CupAttr_filter($observer)
//apply filter when category is CupCat
if(Mage::registry('current_category') &&(Mage::registry('current_category')->getId()=='CupCatCatrgoryId') ):
$collection=$observer->getEvent()->getCollection();
$collection->addAttributeToFilter('CupAttrAttibiteCode','FilterExpression');
endif;
return $this;
【讨论】:
感谢您的快速响应。我怎样才能让它更有活力?我可能有一些其他属性要用于过滤其他类别?例如,我想使用类别的“url 键”作为属性标识符。然后每次加载类别时,我都会得到“url键”,然后使用该键进行过滤。 (我将拥有与带有是/否字段的 url 键相同的属性)。对不起,我是 Magento 的新手。再次感谢您的帮助。 嗨阿米特,我刚刚编辑了我的帖子,你能再帮我一次吗?谢谢。 过滤器不适用是否有原因?如果我在受保护的函数 _getProductCollection() 方法中添加 addFieldToFilter ,它会起作用,如果我通过观察者执行它会更改 $collection 因为我可以看到 $collection->getSelect() 结果,但它确实对前端java示例代码_如何使JButton像静态变量一样工作
java示例代码_如何使JButton像静态变量一样工作 查看详情
如何使 removeChild() 像 unloadAndStop() 一样工作?
】如何使removeChild()像unloadAndStop()一样工作?【英文标题】:HowcanImakeremoveChild()worklikeunloadAndStop()?【发布时间】:2017-04-1101:24:57【问题描述】:我正在使用适用于iOS的Flash和Air构建一本“交互式书籍”,并且几乎没有AS3经验...我曾... 查看详情
如何使编辑文本视图像搜索栏一样工作?
】如何使编辑文本视图像搜索栏一样工作?【英文标题】:HowdoImakeanedittextviewworklikeasearchbar?【发布时间】:2021-03-2422:56:23【问题描述】:我不想使用搜索视图或第三方库来实现搜索栏。我想使用可以彻底自定义的编辑文本视图... 查看详情
如何使 spydlay 模块像 httplib/http.client 一样工作?
】如何使spydlay模块像httplib/http.client一样工作?【英文标题】:Howtomakespydlaymoduletoworklikehttplib/http.client?【发布时间】:2014-02-1207:40:52【问题描述】:我必须测试基于Jetty的服务器。该服务器可以使用自己的协议、HTTP、HTTPS,最后... 查看详情
如何使按钮内的图标像按钮一样工作(指针事件:无;不起作用)
】如何使按钮内的图标像按钮一样工作(指针事件:无;不起作用)【英文标题】:howtomakeiconwithinbuttonworklikethebutton(pointerevents:none;doesn\'twork)【发布时间】:2020-05-2515:13:40【问题描述】:这是一个在单击按钮时应该删除的todolist... 查看详情
实现类别过滤器的正确方法
】实现类别过滤器的正确方法【英文标题】:Therightwaytoimplementacategoryfilter【发布时间】:2011-12-2400:45:40【问题描述】:我真的很困惑我应该如何处理/实现过滤器功能。所以我是一个具有4个值的简单复选框:val1、val2、val3、val4... 查看详情
Magento 类别页面未包含属性过滤器中的所有产品
】Magento类别页面未包含属性过滤器中的所有产品【英文标题】:Magentocategorypageisnotincludingallproductsintheattributefilters【发布时间】:2012-05-0123:07:09【问题描述】:我发现产品并不总是包含在***类别列表页面的属性过滤器中。我有一... 查看详情
使 Magento 的“继续购物”按钮重定向到最后添加到购物车的产品类别
】使Magento的“继续购物”按钮重定向到最后添加到购物车的产品类别【英文标题】:MakeMagento"ContinueShopping"buttonredirecttothelast-added-to-cartproduct\'scategory【发布时间】:2012-08-3121:19:26【问题描述】:购物车页面上的“继续购... 查看详情
如何使谷歌地图像安卓手机中的谷歌地图应用程序一样工作
】如何使谷歌地图像安卓手机中的谷歌地图应用程序一样工作【英文标题】:Howtomakethegooglemapworklikegooglemapapplicationinandroidphones【发布时间】:2014-07-0309:45:40【问题描述】:正如您在图片中看到的,我在屏幕左下角有放大缩小按... 查看详情
如何以编程方式在magento中为产品分配类别
】如何以编程方式在magento中为产品分配类别【英文标题】:HowtoassigncategoriesforproductsinmagentoProgrammatically【发布时间】:2014-08-2406:16:43【问题描述】:我是magento的新手。基本上,我想将多个产品分配给多个类别。我已经关注thispos... 查看详情
过滤自动完成材料。一些输入表单像一个输入一样工作
】过滤自动完成材料。一些输入表单像一个输入一样工作【英文标题】:FilterautocompleteMaterial.Someinputformworklikeoneinput【发布时间】:2018-07-1906:27:28【问题描述】:你能帮帮我吗?我在使用自动完成材料时遇到了一些问题。不知道... 查看详情
从类别中加载所有产品并按 Magento 中选定的多选属性进行过滤
】从类别中加载所有产品并按Magento中选定的多选属性进行过滤【英文标题】:Loadallproductsfromcategoryandfilterbyselectedmulti-selectattributeinMagento【发布时间】:2017-06-2306:11:35【问题描述】:我的Magento1.9安装中有两个多选属性(带有各自... 查看详情
Laravel 8 - MS SQL - 查询生成器 - 使用 DB Raw。尝试使代码正确,使其像工作的 MSSQL 代码一样工作
...orkingMSSQLcode【发布时间】:2021-11-1719:54:09【问题描述】:如何在Laravel中编写此代码以使下面的查询正常工作?工 查看详情
CSS如何使文本像图像一样缩放
】CSS如何使文本像图像一样缩放【英文标题】:CSSHowtomaketexttoscalelikeanimage【发布时间】:2017-02-0115:28:45【问题描述】:我无法弄清楚如何在调整大小时使文本表现得像图像。当我调整浏览器的大小时,文本保持与开始时一样大... 查看详情
如何使卡片像颤动的标签一样可滑动? [复制]
】如何使卡片像颤动的标签一样可滑动?[复制]【英文标题】:Howtomakecardsswipeableliketabsinflutter?[duplicate]【发布时间】:2020-03-0500:38:43【问题描述】:我一直在尝试让卡片像我的模拟中所示的标签一样可滑动。我已经添加了我的代... 查看详情
kivy:如何使图像像按钮一样
】kivy:如何使图像像按钮一样【英文标题】:kivy:howtomakeanimageactlikeabutton【发布时间】:2015-01-0510:47:08【问题描述】:我是Kivy的新手。我希望图像在按下(触摸)时变成不同的图像。应该有一些简单的方法可以做到这一点,但... 查看详情
如何在 Magento 中使用产品 URL 附加类别和子类别 slug
】如何在Magento中使用产品URL附加类别和子类别slug【英文标题】:HowtoappendcategoryandsubcategoryslugwithproductURLsinMagento【发布时间】:2018-06-0713:02:38【问题描述】:我当前的产品网址是这种格式:example.com/product_slug。我需要将类别和子... 查看详情
如何复制 gatsbyjs 过滤器和搜索,就像他们的起始页一样?
】如何复制gatsbyjs过滤器和搜索,就像他们的起始页一样?【英文标题】:Howtoreplicategatsbyjsfilterandsearch,liketheonetheyhavefortheirstarterspage?【发布时间】:2020-07-1503:16:42【问题描述】:我想构建一个搜索页面,让用户可以根据他们可... 查看详情