Magento 1.5, добавление значений orderstatuses «программно»

#magento #magento-1.5

#magento #magento-1.5

Вопрос:

В magento < 1.5 можно добавлять orderstatuses в расширения через config.xml . Начиная с magento 1.5, для этого существует интерфейс администратора, следовательно, описанный выше подход больше не работает.

Итак, как я могу заставить мое расширение установить кучу статусов? И присваивать их состояниям и устанавливать по умолчанию для состояния?

Должен ли я вручную вставлять их в таблицы базы данных sales_order_status и sales_order_status_state? Если это верно, я также должен обновить столбец «is_default»..

Ответ №1:

Вы можете создать новый статус:

 $status = Mage::getModel('sales/order_status')
    ->setData(array(
        'label'   => 'New Status',
        'status'  => 'new_status',
    ))
;

try {
    $status->save();
} 
catch (Mage_Core_Exception $e) {
     echo $e->getMessage();
}