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

magento搜索结果排序和列表页排序

时间:2016-01-21 12:09来源: 作者: 点击:
其实magento就是按产品的属性值来排序的! 最新 的方法:修改: \app\code\core\Mage\Catalog\Block\Product\List\Toolbar.php 找到下面这个方法:把他之前的注释,然后改成自己需要的属性 public func

其实magento就是按产品的属性值来排序的!

最新 的方法:修改:

\app\code\core\Mage\Catalog\Block\Product\List\Toolbar.php

找到下面这个方法:把他之前的注释,然后改成自己需要的属性

public function setDefaultOrder($field)
{
/* if (isset($this->_availableOrder[$field])) {
$this->_orderField = $field;
} */
$this->_orderField = 'sortorder';
return $this;
}

 

 

下面这个貌似还是有bug

magento根目录下的/app/code/core/Mage/Catalog/Model下的config.php中找到了magento产品列表页初始排序数组的方法,源代码如下:

public function getAttributeUsedForSortByArray()
{
$options = array(
'position'  => Mage::helper('catalog')->__('Position')
);
foreach ($this->getAttributesUsedForSortBy() as $attribute) {
/* @var $attribute Mage_Eav_Model_Entity_Attribute_Abstract */
$options[$attribute->getAttributeCode()] = $attribute->getStoreLabel();
}

return $options;
}

只需要把你想要放在默认位置的排序方式写在'position'  前面就可以了,比如我把价格放在前面

public function getAttributeUsedForSortByArray()
{
$options = array(
'price'  => Mage::helper('catalog')->__('Price'),
'position'  => Mage::helper('catalog')->__('Position')
);
foreach ($this->getAttributesUsedForSortBy() as $attribute) {
/* @var $attribute Mage_Eav_Model_Entity_Attribute_Abstract */
$options[$attribute->getAttributeCode()] = $attribute->getStoreLabel();
}

return $options;
}

(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容