2011-12-15 2 views
2

Я пытаюсь добавить нестандартный статус заказа в мою установку magento. I've found several tutorials detailing how to do this и все они говорят о редактировании app/code/core/Mage/Sales/etc/config.xmlСоздание пользовательских статусов заказов в magento 1.5

Но, когда я смотрю на этот файл, он содержит заявление: @depraceted after 1.4.2, statuses are saved into sales_order_status table

Я не уверен, как добавить новый статус в БД.

Это выглядит так, как будто все, что мне нужно сделать, это вставить новую строку в sales_order_status с кодом моего статуса и этикеткой во внешнем интерфейсе, а затем связать его статус государства, добавив строку sales_order_status_state с кодом статуса и кодом всех в штатах я не могу получить статус.

Но я немного туманно отношусь к состоянию/статусу, и в прошлом я был сожжен с использованием необработанного SQL с установкой magento. Итак, мне интересно, добавил ли кто-нибудь еще пользовательский статус в 1.5, и как они это сделали.

ответ

5

Поскольку пользовательские статусы заказчика Magento 1.5 могут быть сконфигурированы через бэкэнд. Перейдите в Систему -> Статус заказа, и вы можете создавать и редактировать статусы и коды заказов.

+1

ИМХО, это не ответ. ОП спросил, как добавить этот процесс к установке; ручные шаги после установки не совпадают. – Ryre

3

Чтобы создать статусы программно для использования в расширении использования программы установки расширения для создания статуса в вашей базе данных, используя следующие:

<?php 
$installer = $this; 
$installer->startSetup(); 
$installer->run(" 
    INSERT INTO `{$this->getTable('sales/order_status')}` (
     `status` , 
     `label` 
    ) VALUES (
     'status_code', 'Status Label' 
    ); 
    INSERT INTO `{$this->getTable('sales/order_status_state')}` (
     `status` , 
     `state` , 
     `is_default` 
    ) VALUES (
     'status_code', 'processing', '0' 
    ); 
"); 
$installer->endSetup(); 
9

Это, как вы можете создать пользовательский статус с помощью Magneto:

$installer = $this; 
/** 
* Prepare database for install 
*/ 
$installer->startSetup(); 

$status = Mage::getModel('sales/order_status'); 

$status->setStatus('your_status_code')->setLabel('Your Status Label') 
    ->assignState(Mage_Sales_Model_Order::STATE_PAYMENT_REVIEW) //for example, use any available existing state 
    ->save(); 

/** 
* Prepare database after install 
*/ 
$installer->endSetup(); 
0

Я использую.

$status = Mage::getModel('sales/order_status'); 
$status->setStatus('xyz')->setLabel('Your Status Label'); 
$status->save(); 
$status->assignState(Mage_Sales_Model_Order::STATE_PROCESSING); 

Его можно использовать в установщике или нет.

Смежные вопросы