Pour créer de nouveau statuts de commande via installer Magento, la manipulation est très simple.
Nous allons ajouter des entrées dans les tables « sales_order_status » « sales_order_status_state ».
Paramétrez votre module pour qu’il passe dans votre installer et insérez-y le code suivant :
<?php $installer = $this; // Nos tables $statusTable = $installer->getTable('sales/order_status'); $statusStateTable = $installer->getTable('sales/order_status_state'); // Ajout des status $installer->getConnection()->insertArray( $statusTable, array( 'status', 'label' ), array( array('status' => 'mon_status_custom1', 'label' => 'Status 1'), array('status' => 'mon_status_custom2', 'label' => 'Status 2'), array('status' => 'mon_status_custom3', 'label' => 'Status 3'), array('status' => 'mon_status_custom4', 'label' => 'Status 4'), ) ); // Mapping status/state $installer->getConnection()->insertArray( $statusStateTable, array( 'status', 'state', 'is_default' ), array( array( 'status' => 'mon_status_custom1', 'state' => 'processing', /* canceled, closed, complete, new, processing, holded, payment_review, pending_payment */ 'is_default' => 0 ), array( 'status' => 'mon_status_custom2', 'state' => 'canceled', 'is_default' => 0 ), array( 'status' => 'mon_status_custom3', 'state' => 'my_custom_state', /* Vous pouvez aussi créer un nouveau state ! */ 'is_default' => 0 ), array( 'status' => 'mon_status_custom4', 'state' => 'my_custom_state', 'is_default' => 1 /* Ce champs sera considéré par défaut par votre nouveau state ! */ ), ) );
Le tour est joué ! Vous pouvez voir vos status et/ou states de commande dans « Système > Status de commande »
Ajouter des status et state de commande via installer