Как создать новое состояние заказа для присвоения статуса заказа?

10

Понятно, как создать новый статус заказа. Система> Статусы заказа> Создать новый статус

Но как вы создаете новое государство?

«обработка», «завершение», «новый» - это примеры кодов состояний заказа по умолчанию в Magento.

MagentoMac
источник

Ответы:

6

Откройте файл app/code/core/Mage/Sales/etc/config.xmlи найдите узел. Внутри этого узла добавьте следующее.

<mystate translate="label">
    <label>My State</label>
    <statuses>
       <mystatus default="1"/>
    </statuses>
    <visible_on_front>1</visible_on_front>
</mystate>

Примечание: я не рекомендую редактировать основные файлы. Но вы можете установить это в своем собственном модуле, который зависит от модуля Mage_Sales.

Sukeshini
источник
Спасибо. Это было то, что я искал. Я согласен с тем, что редактировать основные файлы нецелесообразно, поскольку они будут перезаписаны при следующем обновлении Magento. Предполагая, что копирования структуры файлов и папок в пул локальных папок должно быть достаточно, чтобы сделать то, что мы хотим здесь?
MagentoMac
1
Вместо того, что вы можете сделать, если вы пишете свой собственный платежный модуль, вы можете установить его состояние, используя его config.xml
Sukeshini
7

Вы можете добавить состояние , просто добавив XML-код в свой модульconfig.xml

<global>
    <sales>
      <order>
       <states>
        <order_recieved translate="label">
          <label>Order Recieved</label>
            <statuses>
                <order_recieved default="1"/>
            </statuses>
          <visible_on_front>1</visible_on_front>
        </order_recieved>
      </states>
   </order>
  </sales>
 </global>
Кайсар Сатти
источник
4

Кроме того, вы можете создать статус через Система> Статусы заказа> Создать новый статус, а затем присвоить статус состоянию (Система> Статусы заказа> Присвоение статуса состоянию).

Карлос Карденас
источник
Это должен быть одобренный ответ.
Чарли Далсасс
10
Почему это должно быть, Он хотел новое государство, а не новый Статус: \
Майк Тим Тернер
Идиот, ты, rasclart, прочитал вопрос расс, потому что
А. Лал