所以我做了很多研究,但没有理想的结果,所以我创建了一个类似于 list.phtml 的新 phtml 文件,我在其中使用如下过滤器调用产品集合:
//this is dirty but this is the fastest solution I came up with
$url = 'http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
if(false != strpos($url, 'to=500')):
$_below = 500;
elseif(false != strpos($url, 'to=1000')):
$_to = 1000;
$_from = 500;
elseif(false != strpos($url, 'to=2000')):
$_to = 2000;
$_from = 1001;
elseif(false != strpos($url, 'from=2001')):
$_above = 2000;
endif;
if(false != strpos($url, 'to=500')):
$_productCollection = Mage::getResourceModel('reports/product_collection')
->addAttributeToSelect('*')
->addAttributeToFilter('price', array(
'lteq' => $_below));
elseif(false != strpos($url, 'from=2001')):
$_productCollection = Mage::getResourceModel('reports/product_collection')
->addAttributeToSelect('*')
->addAttributeToFilter('price', array(
'gteq' => $_above));
else:
$_productCollection = Mage::getResourceModel('reports/product_collection')
->addAttributeToSelect('*')
->addAttributeToFilter('price', array(
'from' => $_from,
'to' => $_to));
endif;
我根据选择的范围链接设置 $_from 和 $_to 的位置。然后,我在专门为其添加的 CMS 页面中调用 custom.phtml:
{{block type="catalog/product_list" template="catalog/layer/customrange.phtml"}}
然后,在边栏上,我添加了必要的范围(硬编码),如下所示:
<ul><li><a href="<?php echo $this->getUrl('custom-page').'?from=&to=500'; ?>">below 500</a></li></ul>
所以我现在有没有类别过滤器的价格范围。我知道这并不完美,鉴于我的侧边栏上的范围链接是硬编码的,而且我在分页和工具栏上遇到了许多问题(说实话,它根本不起作用) 但这是我能想出的最快的解决方案并且它有效。如果有人有更好的解决方案,请随时让我知道,希望这对其他人有帮助。