Вопрос

Вопрос для любых Devs Magento:

Почему у вносимого продукта есть статус 1, в то время как у продукта отключения есть статус 2? Обычно «включено» или «активно» или что -то еще получает статус 1, в то время как обратное - 0. Есть ли причина, по которой Magento использует 2 здесь 2?

Это было полезно?

Решение

Прежде всего, ценности не должны быть даже важны.
Используйте в вашем коде эти константы 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 И я предполагаю, что для совместимости они сохранили идентификаторы статусов.

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

Другие советы

Значение состояния продукта поступает из поля SELECT «Статус» из управления продуктом в администраторе. «включенные» и «отключен» - это параметры поля SELECT со значениями 1 и 2. Это не логические значения.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с magento.stackexchange
scroll top