正在调用查找当前模型

时间:2018-04-18 13:55:59

标签: php magento magento-1.9

我试图按字母顺序对目录页面上的样本(制造商等)上的名称(过滤器块)进行排序。

我去了名为“swatches.phtml”的phtml文件,我发现它调用了集合“$ this-> getItems()”,但在调用thie方法getItems之前我需要设置Order,我试过示例之前调用“getItems”上面的代码:

$items=$this->setOrder('updated_at', 'asc');

然后调用$ items-> getItems()“但它不起作用,任何人都有一个想法,我做错了什么?

1 个答案:

答案 0 :(得分:0)

getItems()函数正在从app/code/core/Mage/Catalog/Block/Layer/Filter/Abstract.php调用,如果你看那里,你会看到它返回一个filter-item对象数组。您可以使用usort() function在swatches.phtml中对它们进行排序。它看起来与php手册页中的第一个示例非常相似:

<?php 
function sortByLabel($a, $b) {
    if ($a->getLabel() == $b->getLabel()) {
        return 0;
    }
    return ($a->getLabel() < $b->getLabel()) ? -1 : 1;
}

$items = $this->getItems();

usort($items, "sortByLabel");
?>
<!-- you will have to change the existing foreach loop to use your $items array -->
    <?php foreach ($items as $_item): ?>
....