Magento 如何按自定义属性对产品进行排序?

Magento 如何按自定义属性对产品进行排序?,magento,magento-1.7,Magento,Magento 1.7,有没有办法按任何自定义属性对产品进行排序?例如,按类别、品牌或颜色排序 我假设我应该创建属性并将其设置为“用于在产品列表中排序” 我想按以下属性对产品进行排序: 首先是性别,然后是品牌、类别,最后是颜色 问题是如何使用这些属性对后端中的产品进行排序,以便它们在前端中按顺序可见?您可以使用此代码 在catalog\product\list下创建一个phtml文件(sort.phtml) sort.phtml的Contain是 <div class="sort-by">

有没有办法按任何自定义属性对产品进行排序?例如,按类别、品牌或颜色排序

我假设我应该创建属性并将其设置为“用于在产品列表中排序”

我想按以下属性对产品进行排序:

首先是性别,然后是品牌、类别,最后是颜色

问题是如何使用这些属性对后端中的产品进行排序,以便它们在前端中按顺序可见?

您可以使用此代码

在catalog\product\list下创建一个phtml文件(sort.phtml)

sort.phtml的Contain是

<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>
希望这个代码能正常工作

echo $this->getLayout()->createBlock("catalog/product_list_toolbar")->setTemplate('catalog/product/list/sort.phtml')->toHtml();