Magento - 仅在单个类别上设置默认产品类别

时间:2014-09-19 15:39:21

标签: php magento sorting

我正在尝试为Magento中的单个类别设置默认(不可编辑)排序到SKU DESC并仅隐藏该类别的排序选项

基本上我希望这只能在SKU,DESC上排序......无论在点击此页面之前在其他页面上选择了哪些选项

到目前为止,我能够隐藏排序功能,没问题,但设置排序给我带来了一些麻烦

我已添加:/app/design/frontend/default/idp/template/catalog/category/view.phtml

if($_SERVER['REMOTE_ADDR'] == {MY IP}) :
  if($_category->getId() == 4) :
    $_category->_data['default_sort_by'] = "sku_sort";
   endif;
endif;

这是设置此页面上的默认排序顺序,但我找不到如何强制它去DESC而不是ASC ..任何帮助将不胜感激

作为临时修复,直到我弄清楚,我正在使用找到的解决方案here,页面上的第一条评论有一个专门的解决方案(已将created_at更改为sku) 此解决方案的唯一问题是它会影响所有基于sku的排序页面和结果,而不仅仅是单页

1 个答案:

答案 0 :(得分:1)

您可以从catalog / product / list.phtm修改工具栏对象,删除可用的排序属性并设置所需的默认排序:

$_category = Mage::registry('current_category');
if ($_category && $_category->getId() == 4 && $this->getListBlock()){
   $availableOrders = $_category->getAvailableSortByOptions();
   unset($availableOrders['position']); // Delete the sort attributes you don't need

   $this->getListBlock()
    ->setAvailableOrders($availableOrders)
    ->setDefaultDirection('desc')
    ->setSortBy('sku_sort');
}

希望有所帮助