Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento-如何添加新产品状态_Magento_Status - Fatal编程技术网

Magento-如何添加新产品状态

Magento-如何添加新产品状态,magento,status,Magento,Status,我正在尝试创建新的产品状态,但我不知道如何做,而且网络上设置的所有内容都不一致,或者只是谈论我不想更改的订单状态。您创建新产品状态的动机是什么?我认为更改应用程序的这一部分有点冒险。我建议您添加新属性,并使用此属性代替系统产品的属性“状态”,此属性告诉系统产品是否启用或禁用。我想在:)将classMage\u Catalog\u Model\u Product\u Status覆盖到本地文件夹之间没有任何内容。然后打开文件 \app\code\local\Mage\Catalog\Model\P

我正在尝试创建新的产品状态,但我不知道如何做,而且网络上设置的所有内容都不一致,或者只是谈论我不想更改的订单状态。

您创建新产品状态的动机是什么?我认为更改应用程序的这一部分有点冒险。我建议您添加新属性,并使用此属性代替系统产品的属性“状态”,此属性告诉系统产品是否启用或禁用。我想在:)

将class
Mage\u Catalog\u Model\u Product\u Status
覆盖到本地文件夹之间没有任何内容。然后打开文件 \app\code\local\Mage\Catalog\Model\Product\Status.php

在文件的顶部可以看到常量

const STATUS_ENABLED    = 1;
const STATUS_DISABLED   = 2;
例如,在其下方添加自定义状态

const STATUS_SUSPENDED   = 3;
然后编辑函数
getOptionArray

static public function getOptionArray()
{
    return array(
        self::STATUS_ENABLED    => Mage::helper('catalog')->__('Enabled'),
        self::STATUS_DISABLED   => Mage::helper('catalog')->__('Disabled'),
        self::STATUS_SUSPENDED  => Mage::helper('catalog')->__('Suspended')
    );
}

就这样。别忘了清除缓存

我认为这是相当危险的。你不知道新状态=3会发生什么。整个magento核心都不知道。我不会改变magento核心,我会添加一个新属性,比如Jaro saidI,不知道这个解决方案有什么危险。该代码只是一个覆盖,不会对已经设置的代码进行任何更改……请同意@Jaro。首先,在对产品进行索引时查看状态。引入新状态可能会产生一些影响,尽管我还没有研究过。Mage\u Catalog\u Model\u Product\u Status::Status\u ENABLED