西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > magento教程 >

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

时间:2016-01-14 21:11来源: 作者: 点击:
Magento Price筛选属性的价格区间的自定义设置方法,在后台的configruation-catlog-catlog-layerd navigation中进行设置,price navigation step calculation 选择manual,那么就会出现出现下面的文本框,输入

Magento Price筛选属性的价格区间的自定义设置方法,在后台的configruation->catlog->catlog->layerd navigation中进行设置,price navigation step calculation 选择manual,那么就会出现出现下面的文本框,输入你想要的step数值就可以了。

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

要找到这个地方也不是很容易,我的路径是,先打开开发者提示,找到 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选项,看这就是我们最初说的那两个选项。
当然,最好还是先去看看使用手册,里面介绍了很多的设置,但是作为开发者,也有自己的方式去找到自己想要的答案。

(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------