0 대신에 상태 2가 비활성화 된 이유는 무엇입니까?


19

모든 마 젠토 개발자를위한 질문 :

활성화 된 제품의 상태가 1 인 반면 비활성화 된 제품의 상태가 2 인 이유는 무엇입니까? 일반적으로 "enabled"또는 "active"또는 상태가 1 인 반면 converse는 0입니다. 대신 magento가 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하고 Mage_Catalog_Model_Product_Status::STATUS_DISABLED.
지금까지 찾은 이유는 제품을 만들 때 대부분의 경우 제품을 사용하기를 원하기 때문입니다. 상태 비활성화 0값이이면 현재 값이 양식을 통해 전달되는 방식으로 선택됩니다 $form->setValues($data).
제품을 만들 때 $data비어 있고 드롭 다운의 경우 0 = 비어 있습니다.
[편집]
방금 다른 것을 기억했습니다.
처음에는 상태에 별도의 테이블이 있었고 가능한 3 가지 값이있었습니다.

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호환성을 위해 상태의 ID를 유지했다고 생각합니다.

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

"먼저 모든 가치가 중요하지 않아야합니다." CSV 가져 오기 파일을 만들 때입니다.
jscar

아닙니다. 맹목적으로 값을 가져 와서 가져 오기에 사용할 수 있습니다.
Marius

좋아, 나는 지금 당신의 원래 요점을 이해한다고 생각합니다. 다시 말해서-가져 오기를 수행 할 때 값이 무엇인지 아는 것이 중요합니다. :) 1과 2라는 사실은 반 직관적입니다. 0과 1을 기대할 것
jscar

-1

제품 상태 값은 관리자의 제품 관리에서 "상태"선택 필드에서 가져옵니다. "enabled"및 "disabled"는 값 1과 2를 가진 선택 필드의 옵션입니다. 이들은 부울 값이 아닙니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.