เพราะเหตุใดสถานะถูกปิดใช้งาน 2 แทน 0


19

คำถามสำหรับนักพัฒนาคุณภาพเยี่ยม:

ทำไมผลิตภัณฑ์ที่เปิดใช้งานมีสถานะ 1 ในขณะที่ผลิตภัณฑ์ที่ปิดใช้งานมีสถานะ 2 โดยปกติแล้ว "เปิดใช้งาน" หรือ "ใช้งาน" หรืออะไรก็ตามที่ได้รับสถานะ 1 ในขณะที่การสนทนาคือ 0 มีเหตุผลว่าทำไมวีโอไอพีใช้ 2 ที่นี่แทน?


มักจะสงสัยในตัวเองนี้ไม่มีความคิดว่า มันอาจไม่ใช่ค่าบูลีน มีสถานะอื่นนอกเหนือจากเปิดใช้งานหรือปิดใช้งานหรือไม่
JamesAllwood

2
@ JamesAllwood Nope Mage_Catalog_Model_Product_Status กำหนด STATUS_ENABLED และ STATUS_DISABLED ไม่มีอะไรอื่น
Benubird

คำถามที่สวยงามช่วยตอบคำถามที่ฉันพยายามคิดออกโดยไม่ได้ตั้งใจ!
SR_Magento

คำตอบ:


20

ก่อนอื่นค่าทั้งหมดไม่ควรสำคัญนัก
ใช้ในรหัสของคุณคงที่เหล่านี้และMage_Catalog_Model_Product_Status::STATUS_ENABLED เหตุผลที่ฉันพบจนถึงตอนนี้คือเมื่อคุณต้องการสร้างผลิตภัณฑ์ในกรณีส่วนใหญ่คุณต้องการเปิดใช้งานผลิตภัณฑ์ ถ้าค่าสำหรับสถานะปิดการใช้งานเป็นแล้วนี้จะถูกเลือกเพราะวิธีการที่ค่าปัจจุบันจะถูกส่งผ่านไปยังแบบฟอร์มผ่าน เมื่อสร้างผลิตภัณฑ์ว่างเปล่าและในกรณีแบบเลื่อนลง 0 = ว่าง [แก้ไข] ฉันเพิ่งจำสิ่งอื่นได้ เริ่มแรกสถานะมีตารางแยกต่างหากและมีค่าที่เป็นไปได้ 3 ค่าMage_Catalog_Model_Product_Status::STATUS_DISABLED
0$form->setValues($data)
$data


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

และคุณสามารถเพิ่มได้อีก app/code/core/Mage/Catalog/sql/catalog_setup/mysql4-install-0.7.0.phpตรวจสอบ
วิธีการนี้ลดลงmysql4-upgrade-0.7.4-0.7.5.phpและฉันเดาว่าสำหรับความเข้ากันได้พวกเขาจะเก็บรหัสสถานะไว้

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

"ก่อนอื่นค่าทั้งหมดไม่ควรสำคัญแม้แต่อย่างเดียว" เมื่อคุณกำลังสร้างไฟล์นำเข้า csv!
jscar

ไม่พวกเขาไม่ได้เป็น. คุณสามารถรับค่าและนำไปใช้ในการนำเข้า
Marius

ตกลงฉันคิดว่าฉันเข้าใจจุดเริ่มต้นของคุณแล้ว ให้ฉันใช้ถ้อยคำใหม่ - เป็นสิ่งสำคัญที่จะต้องรู้ว่าสิ่งที่มีค่าเมื่อทำการนำเข้า :) ความจริงที่ว่าพวกเขาเป็น 1 และ 2 เป็นเคาน์เตอร์ที่ใช้งานง่าย คาดหวังว่า 0 & 1
jscar

-1

ค่าสถานะผลิตภัณฑ์มาจากฟิลด์ "สถานะ" เลือกจากการจัดการผลิตภัณฑ์ในผู้ดูแลระบบ "เปิดใช้งาน" และ "ปิดการใช้งาน" เป็นตัวเลือกของฟิลด์เลือกที่มีค่า 1 และ 2 ค่าเหล่านี้ไม่ใช่ค่าบูลีน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.