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
Taggé sur :                            

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Nous utilisons des cookies afin de nous assurer de vous proposer la meilleure expérience sur ce site.
Ok