【问题标题】:How to add a prefix to an order number如何为订单号添加前缀
【发布时间】:2015-11-05 17:42:57
【问题描述】:

如何在 Magento 1.9.01 中为所有未来的订单号添加前缀?我已经尝试过这里描述的数据库解决方案:

http://www.warpconduit.net/2012/04/18/how-to-change-the-order-increment-id-and-prefix-in-magento

但这没有任何效果。新订单没有前缀。

【问题讨论】:

  • 你尝试过更改商店ID
  • 您可以挂钩sales_order_place_after 事件并以编程方式修改增量ID?

标签: magento magento-1.9


【解决方案1】:

您是否尝试过重写类Mage_Eav_Model_Entity_Type 并在方法fetchNewIncrementId 中添加您的自定义订单号逻辑?

喜欢

public function fetchNewIncrementId($storeId = null)
{
    $incrementId = parent::fetchNewIncrementId($storeId); 

    $incrementId = 'prefix' . $incrementId;

    return $incrementId;
}

【讨论】:

    【解决方案2】:
    Find all order id
    
    SELECT core_store_group.name AS group_name, core_website.name AS website_name, core_store.name AS store_name, core_store.store_id, increment_prefix, increment_last_id, entity_type_code
    FROM eav_entity_store
    INNER JOIN eav_entity_type ON eav_entity_type.entity_type_id = eav_entity_store.entity_type_id
    INNER JOIN core_store ON core_store.store_id = eav_entity_store.store_id
    INNER JOIN core_store_group ON core_store_group.group_id = core_store.group_id
    INNER JOIN core_website ON core_website.website_id = core_store.website_id
    WHERE eav_entity_store.store_id != 0 ORDER BY eav_entity_store.store_id;
    
    Change your Order Prefix on All Stores
    
    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_prefix='SPB'
    WHERE eav_entity_type.entity_type_code='order';
    
    Change your Invoice Prefix on All Stores
    
    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_prefix='SPB'
    WHERE eav_entity_type.entity_type_code='invoice';
    
    Change your Shipment Prefix on  All Stores->
    
    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_prefix='SPB'
    WHERE eav_entity_type.entity_type_code='shipment';
    
    Change your Credit Memo Prefix on All Stores
    
    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_prefix='SPB'
    WHERE eav_entity_type.entity_type_code='creditmemo';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-11
      • 1970-01-01
      • 2018-11-01
      相关资源
      最近更新 更多