2012-08-08 42 views

回答

29

所有应用的过滤器都存储在图层状态对象中。您可以使用以下代码轻松检索它们:

$appliedFilters = Mage::getSingleton('catalog/layer')->getState()->getFilters(); 

它会返回一个过滤项目对象的数组。您可以通过做这样的事情来检索单个过滤器项目的名称和应用值:

foreach ($appliedFilters as $item) { 
    $item->getName(); // Name of the filter 
    $item->getLabel(); // Currently selected value 
    $item->getFilter()->getRequestVar(); // Filter code (usually attribute code, except category filter, where it equals "cat") 
} 
+1

$ item-> getFilter() - > getRequestVar(); //过滤器的属性代码 – 2012-08-25 15:03:59

+2

如何获取属性“color”的id? – Muk 2013-09-02 14:14:05

+0

很好的回答!任何人都知道如何获得过滤器的代码(或编号)?所以例如在我的情况下,颜色过滤器ID是187,我在数据库中查找它,但是如何使用PHP来获取? – 2017-04-07 16:26:48

相关问题