Esto no parece estar ordenado correctamente, ¿hay algo que esté haciendo mal? Sugerencias?
$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');
Otra colección que no parece estar ordenada y que es diferente a la primera:
$kitCollection = Mage::getModel('kitinventory/kitinventory')->getCollection()->addFieldToFilter('kit_sku', $sku)->setOrder('related_sku', 'DESC');
collection
sorting
easymoden00b
fuente
fuente
$kitCollection->getSelect()->order('related_sku DESC');
Puede agregar un orden de clasificación como este:
Más información: http://www.magentocommerce.com/wiki/1_-_installation_and_configuration/using_collections_in_magento
La esperanza te puede ayudar.
fuente
->order('related_sku', 'desc');
Para ampliar las otras respuestas aquí,
$kitCollection->getSelect()->order('column DESC')
funciona bien, pero no puede agregar más de una columna. Por ejemplo,$kitCollection->getSelect()->order('column DESC, column2 ASC')
error. Esto se debe al trabajo que hace Magento para escapar de los nombres de columna. Para evitar esto, puede usar un meZend_Db_Expr
gusta así:fuente
easymoden00b,
setOrder()
no funciona debido a la estructura Eav en el producto. Como @Sande dice que use laaddAttributeToSort()
función, debido aMagento is join multiple tables for product collection.
Attribute alias name at collection
setOrder() function
funciona cuandoorder expression
Fieldname, SortOrder escorrect
.Puede ver cómo magento crea un alias de campo y se relaciona con el atributo de tabla eav en la clase Mage_Eav_Model_Entity_Collection_Abstract
fuente
Aquí está mi solución para ordenar el orden de las opciones en un atributo de producto configurable. Comience copiando Collection.php,
app/code/core/Mage/Catalog/Model/Resource/Product/Type/Configurable/Attribute/Collection.php
aapp/code/local/Mage/Catalog/Model/Resource/Product/Type/Configurable/Attribute/Collection.php
.Entonces puedes encontrar este código:
Y reemplácelo con este código:
Esto le permitirá ordenar la lista desplegable de opciones de atributos por orden alfabético. También puede invertir el orden mediante el uso de
array_reverse()
funciones similares.Anteriormente, mis opciones de atributos estaban en orden alfabético inverso. Ahora, están en orden alfabético.
fuente