Magento 1.5中订单号的自定义起始编号

Mat*_*man 4 configuration magento e-commerce magento-1.5

如何在Magento 1.5中自定义订单,发票等的起始编号?

OSd*_*ave 10


来自magento的论坛:

There is a table in the database which stored increment id of order.
It is called “eav_entity_store” table.
You can check which entity type id belongs to which entity by looking at 
eav_entity_type table.
You can run following query to update last increment id for the order.

    update eav_entity_store
    inner join eav_entity_type on eav_entity_type.entity_type_id = eav_entity_store.entity_type_id
    set eav_entity_store.increment_last_id=3001 
    where eav_entity_type.entity_type_code='order';
Run Code Online (Sandbox Code Playgroud)

With a tool like phpmyadmin look at your database. In the table 
eav_entity_type you will find all entity types listed. The one of interest to 
change where the order number starts is order sales/order. Remember the 
entity_type_id (in my install it is 11). To remove the leading zeros 
(padding) set increment_pad_length to 1.

Next go to the table eav_entity_store. Look up the entity_type_id. Now you can change the value of increment_prefix and increment_last_id. If you wanted to have your next orderId to be 15000 set increment_last_id to 14999 and increment_prefix to 0.

Additionally you need to make a copy of this file /app/code/core/Mage/Eav/Model/Entity/Increment/Abstract.php to /app/code/local/Mage/Eav/Model/Entity/Increment/Abstract.php public function getPadLength() { $padLength = $this->getData('pad_length'); if (empty($padLength)) { $padLength = 0; } return $padLength; } ... public function format($id) { $result= str_pad((string)$id, $this->getPadLength(), $this->getPadChar(), STR_PAD_LEFT); return $result; }

Run Code Online (Sandbox Code Playgroud)
希望有所帮助