Sebuah pertanyaan untuk para pengembang magento:
Mengapa produk yang diaktifkan memiliki status 1, sedangkan produk yang dinonaktifkan memiliki status 2? Biasanya, "diaktifkan" atau "aktif" atau apa pun yang mendapat status 1, sedangkan yang sebaliknya adalah 0. Apakah ada alasan mengapa Magento menggunakan 2 di sini?
stock
development
design
status
Benubird
sumber
sumber
Jawaban:
Pertama-tama, nilai-nilai itu seharusnya tidak penting.
Gunakan dalam kode Anda konstanta ini
Mage_Catalog_Model_Product_Status::STATUS_ENABLED
danMage_Catalog_Model_Product_Status::STATUS_DISABLED
.Alasan yang saya temukan sejauh ini adalah ketika Anda ingin membuat suatu produk, dalam kebanyakan kasus Anda ingin itu diaktifkan. Jika nilai untuk status dinonaktifkan adalah
0
, maka ini akan dipilih karena cara nilai saat ini diteruskan ke formulir melalui$form->setValues($data)
.Saat membuat produk
$data
kosong dan, dalam hal dropdown, 0 = kosong.[EDIT]
Saya baru ingat sesuatu yang lain.
Awalnya status memiliki tabel terpisah dan ada 3 nilai yang mungkin.
Dan Anda bisa menambahkan lebih banyak. periksa
app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-install-0.7.0.php
.Pendekatan ini dijatuhkan
mysql4-upgrade-0.7.4-0.7.5.php
dan saya kira bahwa untuk kompatibilitas mereka menjaga id status.sumber
nilai status produk berasal dari bidang pilih "status" dari manajemen produk di admin. "diaktifkan" dan "dinonaktifkan" adalah opsi dari bidang pilih dengan nilai 1 dan 2. ini bukan nilai boolean.
sumber