Saya memiliki kode berikut:
umask(0);
Mage::app();
$category =new Mage_Catalog_Model_Category();
$category->load($cid);
if ($status == "2") {
$products = Mage::getModel('catalog/product')->getCollection()
->addAttributeToSelect('*')
->addFieldToFilter('status',Mage_Catalog_Model_Product_Status::STATUS_DISABLED);
$products->load();
}
if ($status == "1") {
$products = Mage::getModel('catalog/product')->getCollection()
->addAttributeToSelect('*');
$products->load();
}
Saya ingin menambahkan filter jumlah stok untuk menyaring produk, saya mencoba:
$products = Mage::getModel('catalog/product')->getCollection()
->addAttributeToSelect('*');
**->addAttributeToFilter('qty', array("gt" => 0));**
Tapi tidak berhasil, ada ide?
$coll = Mage::getResourceModel('catalog/product_collection')
dan menggunakan bidang gabungan Anda danaddAttributeToFilter
. Koleksi ini dimuat dengan baik. Tapi filter tidak bekerja:->addAttributeToFilter('qty', array("gt" => 0))
. Melihat$coll->getSelect()
, tidak ada referensiqty
dalamWHERE
klausa. Ada yang tahu kenapa?SATU ARAH:
CARA KEDUA:
sumber
'CARA PERTAMA' dalam jawaban @TBI Infotech tidak akan berfungsi, karena
->getAllIds()
metode ini mengembalikan id persediaan, bukan ID produk. Sebaliknya, Anda perlu menambahkan ini;sumber
$stock->getProductId()
?Cara paling elegan:
sumber
Terlambat tiba jawabannya, harus melakukan beberapa pekerjaan pada kode ini, jadi di sini Anda pergi. Hanya membutuhkan beberapa penggabungan, bekerja untuk produk yang dapat dikonfigurasi dan sederhana, belum diuji terhadap bundel.
sumber