如何使magento过滤器像类别一样工作

     2023-03-29     21

关键词:

【中文标题】如何使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【问题描述】:我想构建一个搜索页面,让用户可以根据他们可... 查看详情