有没有办法按任何自定义属性对产品进行排序?例如,按类别,品牌或颜色排序?
我假设我应该创建属性并将其设置为“用于产品列表中的排序”。
我想按以下属性对产品进行排序:
首先是性别,然后是品牌,类别和最后的颜色。问题是如何使用这些属性对后端中的产品进行排序,以便它们在该前端中以该顺序显示?
答案 0 :(得分:1)
您可以使用此代码
在catalog \ product \ list。
下创建一个phtml文件(sort.phtml)包含sort.phtml是
<div class="sort-by">
<label><?php echo $this->__('Sort By') ?></label>
<select onchange="setLocation(this.value)">
<?php foreach($this->getAvailableOrders() as $_key=>$_order): ?>
<option value="<?php echo $this->getOrderUrl($_key, 'asc') ?>"<?php if($this->isOrderCurrent($_key)): ?> selected="selected"<?php endif; ?>>
<?php echo $this->__($_order) ?>
</option>
<?php endforeach; ?>
</select>
<?php if($this->getCurrentDirection() == 'desc'): ?>
<a href="<?php echo $this->getOrderUrl(null, 'asc') ?>" title="<?php echo $this->__('Set Ascending Direction') ?>"><img src="<?php echo $this->getSkinUrl('images/i_desc_arrow.gif') ?>" alt="<?php echo $this->__('Set Ascending Direction') ?>" class="v-middle" /></a>
<?php else: ?>
<a href="<?php echo $this->getOrderUrl(null, 'desc') ?>" title="<?php echo $this->__('Set Descending Direction') ?>"><img src="<?php echo $this->getSkinUrl('images/i_asc_arrow.gif') ?>" alt="<?php echo $this->__('Set Descending Direction') ?>" class="v-middle" /></a>
<?php endif; ?>
</div>
之后使用以下代码在list.phtml中调用此文件 -
echo $this->getLayout()->createBlock("catalog/product_list_toolbar")->setTemplate('catalog/product/list/sort.phtml')->toHtml();
希望此代码能够正常运行