Ini sepertinya tidak dipesan dengan benar, apa pun yang saya lakukan salah? Saran?
$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');
Koleksi lain yang tampaknya tidak diurutkan yang berbeda dari yang pertama:
$kitCollection = Mage::getModel('kitinventory/kitinventory')->getCollection()->addFieldToFilter('kit_sku', $sku)->setOrder('related_sku', 'DESC');
collection
sorting
easymoden00b
sumber
sumber
$kitCollection->getSelect()->order('related_sku DESC');
Anda dapat menambahkan urutan seperti ini:
Informasi lebih lanjut: http://www.magentocommerce.com/wiki/1_-_installation_and_configuration/using_collections_in_magento
Semoga bisa membantu Anda.
sumber
->order('related_sku', 'desc');
Untuk memperluas jawaban lain di sini,
$kitCollection->getSelect()->order('column DESC')
berfungsi dengan baik, tetapi Anda tidak dapat menambahkan lebih dari satu kolom. Misalnya,$kitCollection->getSelect()->order('column DESC, column2 ASC')
akan salah. Ini karena pekerjaan yang dilakukan Magento untuk menghindari nama kolom. Untuk menyiasati ini, Anda dapat menggunakanZend_Db_Expr
seperti:sumber
easymoden00b,
setOrder()
tidak berfungsi karena struktur Eav pada produk. Seperti @Sande mengatakan untuk menggunakanaddAttributeToSort()
fungsi, karenaMagento is join multiple tables for product collection.
Attribute alias name at collection
setOrder() function
bekerja ketikaorder expression
Nama Kolom, SortOrder adalahcorrect
.Anda dapat melihat, bagaimana magento membuat bidang alias dan menghubungkan atribut tabel eav di kelas Mage_Eav_Model_Entity_Collection_Abstract
sumber
Inilah solusi saya untuk mengurutkan urutan opsi dalam atribut produk yang dapat dikonfigurasi. Mulai dengan menyalin Collection.php,
app/code/core/Mage/Catalog/Model/Resource/Product/Type/Configurable/Attribute/Collection.php
untukapp/code/local/Mage/Catalog/Model/Resource/Product/Type/Configurable/Attribute/Collection.php
.Kemudian Anda dapat menemukan kode ini:
Dan ganti dengan kode ini:
Ini akan memungkinkan Anda untuk mengurutkan daftar pilihan atribut yang ada menurut abjad. Anda juga dapat membalik urutan dengan menggunakan
array_reverse()
atau fungsi serupa.Sebelumnya, opsi atribut saya berada dalam urutan abjad terbalik. Sekarang, mereka dalam urutan abjad.
sumber