Magento Price筛选属性的价格区间的自定义设置方法,在后台的configruation->catlog->catlog->layerd navigation中进行设置,price navigation step calculation 选择manual,那么就会出现出现下面的文本框,输入你想要的step数值就可以了。
要找到这个地方也不是很容易,我的路径是,先打开开发者提示,找到 price所用的block的php文件,
appcodecoreMageCatalogBlockLayerFilterprice.php, 发现在这里没有关于价格区间的设置,但是在 构造函数中有这样一句
$this->_filterModelName = ‘catalog/layer_filter_price’;
和在 该类的父类 abstract类中找到的 $this->_filter = Mage::getModel($this->_filterModelName)
可以发现,price的设置是在Model中的,catalog/layer_filter_price就是model的定义, 翻译出来就是
appcodecoreMageCatalogModelLayerFilterprice.php
这个model类中,我们看到了
const XML_PATH_RANGE_CALCULATION = ‘catalog/layered_navigation/price_range_calculation’;
const XML_PATH_RANGE_STEP = ‘catalog/layered_navigation/price_range_step’;
这样的常量定义,这表示的是什么呢,我们看这几个常量如何使用,
在该类的方法 getPriceRange() 中有
这样两句
$calculation = Mage::app()->getStore()->getConfig(self::XML_PATH_RANGE_CALCULATION);
$range = Mage::app()->getStore()->getConfig(self::XML_PATH_RANGE_STEP);
那么这就表示,这些配置数据是从后台来的,常量的值就是后台的路径
catalog/layered_navigation/price_range_calculation’ 我们对这个路径进行下解释
首先 Mage::app()->getStore() 表示找到当前的店铺,证明这是一个店铺级别的设置,
Mage::app()->getStore()->getConfig 表示是在后台的 system->configruation中,
剩下的路径就是常量告诉我们的了
在catalog这个标签分类中的 一个叫做layered_navigation 的 group里,有一个 price_range_calculation选项,看这就是我们最初说的那两个选项。
当然,最好还是先去看看使用手册,里面介绍了很多的设置,但是作为开发者,也有自己的方式去找到自己想要的答案。
(责任编辑:最模板) |