Это, кажется, не упорядочено правильно, что-то я делаю не так? Предложения?
$componentQuantityCollection = Mage::getModel('catalog/product')->getCollection();
$componentQuantityCollection->joinField('qty',
'cataloginventory/stock_item',
'qty',
'product_id=entity_id',
'{{table}}.stock_id=1',
'left');
$componentQuantityCollection->addAttributeToFilter('sku', array('in' => $componentSkus))->setOrder('sku','ASC');
Другая коллекция, которая, кажется, не отсортирована, отличается от первой:
$kitCollection = Mage::getModel('kitinventory/kitinventory')->getCollection()->addFieldToFilter('kit_sku', $sku)->setOrder('related_sku', 'DESC');
collection
sorting
easymoden00b
источник
источник
$kitCollection->getSelect()->order('related_sku DESC');
Вы можете добавить порядок сортировки следующим образом:
Дополнительная информация: http://www.magentocommerce.com/wiki/1_-_installation_and_configuration/using_collections_in_magento
Надежда может помочь вам.
источник
->order('related_sku', 'desc');
Чтобы расширить другие ответы здесь,
$kitCollection->getSelect()->order('column DESC')
работает нормально, но вы не можете добавить более одного столбца. Например,$kitCollection->getSelect()->order('column DESC, column2 ASC')
будет ошибка. Это из-за работы, которую Magento делает, чтобы избежать имен столбцов. Чтобы обойти это, вы можете использоватьZend_Db_Expr
так:источник
easymoden00b,
setOrder()
не работает из-за структуры Eav для продукта. Как @Sande говорят использоватьaddAttributeToSort()
функцию, из-заMagento is join multiple tables for product collection.
Attribute alias name at collection
setOrder() function
работает, когда этоorder expression
Fieldname, SortOrder естьcorrect
.Вы можете увидеть, как magento создает псевдоним поля и как он связан с атрибутом таблицы eav в классе Mage_Eav_Model_Entity_Collection_Abstract
источник
Вот мое решение для сортировки порядка параметров в атрибуте настраиваемого продукта. Начните с копирования Collection.php,
app/code/core/Mage/Catalog/Model/Resource/Product/Type/Configurable/Attribute/Collection.php
кapp/code/local/Mage/Catalog/Model/Resource/Product/Type/Configurable/Attribute/Collection.php
.Тогда вы можете найти этот код:
И замените его следующим кодом:
Это позволит вам отсортировать выпадающий список параметров атрибута по алфавиту. Вы также можете изменить порядок с помощью
array_reverse()
или аналогичных функций.Ранее параметры моего атрибута были в обратном алфавитном порядке. Теперь они в алфавитном порядке.
источник