Neden devre dışı durum 2 yerine 0?


19

Herhangi bir magento geliştirici için bir soru:

Neden etkin bir ürünün durum 1'i, devre dışı bırakılan bir ürünün durumunun 2 olması gerekir? Genellikle, "etkin" veya "etkin" veya durum 1'i alırsa, tersi 0 olur. Burada magento'nun 2'yi kullanmasının bir nedeni var mı?


Çoğu zaman bunu kendim merak ettim, bir fikrim yok. Muhtemelen bir boolean değeri değildir. Etkin veya devre dışı başka bir durum var mı?
JamesAllwood

2
@JamesAllwood Nope. Mage_Catalog_Model_Product_Status STATUS_ENABLED ve STATUS_DISABLED değerlerini tanımlar, başka bir şey yoktur.
Benubird

Güzel soru, yanlışlıkla anlamaya çalıştığım bir şeyi cevaplamaya yardımcı oldu!
SR_Magento

Yanıtlar:


20

Her şeyden önce değerler önemli bile olmamalı.
Kodunuzda bu sabitleri kullanın Mage_Catalog_Model_Product_Status::STATUS_ENABLEDve Mage_Catalog_Model_Product_Status::STATUS_DISABLED.
Şimdiye kadar bulduğum sebep, bir ürün oluşturmak istediğinizde, çoğu durumda bunun etkinleştirilmesini istemenizdir. Devre dışı bırakılan durum değeri 0, geçerli değerlerin forma geçirilme biçimi nedeniyle seçilecektir $form->setValues($data).
Bir ürün oluştururken $databoştur ve açılan durumlarda 0 = boştur.
[EDIT]
Başka bir şey daha hatırladım.
Başlangıçta durumun ayrı bir tablosu vardı ve 3 olası değer vardı.

insert  into {$this->getTable('catalog_product_status')}(`status_id`,`status_code`) values (1,'Enabled'),(2,'Disabled'),(3,'Out-of-stock');

Daha fazlasını da ekleyebilirsiniz. kontrol edin app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-install-0.7.0.php.
Bu yaklaşım bırakıldı mysql4-upgrade-0.7.4-0.7.5.phpve sanırım uyumluluk için durumların kimliklerini korudular.

DROP TABLE IF EXISTS {$this->getTable('catalog_product_status')};

"Her şeyden önce değerler önemli bile olmamalı." Bir csv içe aktarma dosyası oluşturduğunuzda!
jscar

Hayır değiller. Değerleri körü körüne alabilir ve içe aktarmada kullanabilirsiniz.
Marius

Tamam, sanırım şimdi asıl noktanı anlıyorum. Yeniden ifade edeyim - içe aktarma sırasında değerlerin ne olduğunu bilmek önemlidir :) 1 ve 2 olmaları karşı sezgiseldir. 0 & 1
jscar

-1

ürün durum değeri, yönetici ürün yönetiminden "durum" seçim alanından gelir. "etkin" ve "devre dışı", 1 ve 2 değerlerine sahip seçim alanının seçenekleridir. Bunlar boole değerleri değildir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.