最模板 - 外贸网站建设,外贸网站模板

最模板

当前位置: 首页 > Magento > Magento教程 >

Magento Price筛选属性的价格区间的自定义设置

时间:2014-06-29 01:51来源:未知 作者:最模板zuimoban 点击:
找了好久才找到,其实设置很简单。在后台的configruation-catlog-catlog-layerd navigation中进行设置,price navigation step calculation 选择manual,那么就会出现出现下面的文本框,输入你想要的step数

找了好久才找到,其实设置很简单。在后台的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选项,看这就是我们最初说的那两个选项。
当然,最好还是先去看看使用手册,里面介绍了很多的设置,但是作为开发者,也有自己的方式去找到自己想要的答案。

(责任编辑:最模板)
------分隔线----------------------------
栏目列表
推荐内容