Пользовательский стартовый номер для номеров заказов в Magento 1.5 - PullRequest
4 голосов
/ 30 апреля 2011

Как настроить начальный номер для заказов, счетов и т. Д. В Magento 1.5?

Ответы [ 4 ]

10 голосов
/ 30 апреля 2011


С форума 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.
<code>
    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';</code>

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.</p>

<p>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.</p>

<p>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 
<code>    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;
    } </code>
Надежда, которая помогает
3 голосов
/ 01 декабря 2011

На самом деле с более новыми версиями (и, вероятно, в 1.5), есть более простой способ изменить это.В PHPMyAdmin или вашем клиенте mysql перейдите к таблице eav_entity_type.Найдите таблицу в столбце entity_type_code (вероятно, order) и установите для increment_pad_length то, что вы хотите, а также increment_pad_char.

Тогда вам не нужнопереписать код ядра - беспроигрышный вариант.

JMax

3 голосов
/ 26 августа 2011

Номер заказа Magento
Это просто ....

  • перейти к phpmyadmin
  • выберите базу данных, а затем выберите таблицу "eav_entity_store"
  • в этой таблице измените increment_last_id (например, я установил 3456767 в своей таблице)
  • после этого я создаю новый заказ. Теперь мои заказы начинаются с номера 346768
0 голосов
/ 03 сентября 2013

На самом деле хорошее расширение для выполнения этой задачи.

Позволяет настроить идентификатор заказа разными способами: например, вы можете использовать комбинацию:

  1. число, например, год, месяц, день, часы, секунды,
  2. использовать пользовательский счетчик (вы можете выбрать начальный номер)
  3. комбинация всех вышеперечисленных методов
  4. добавить произвольную строку в любую позицию идентификатора заказа

Это доп. на Magento подключиться: http://www.magentocommerce.com/magento-connect/custom-order-id-8210.html

Я лично попробовал это, и это очень хорошо (отлично работает со всеми моими способами оплаты, и у меня не было никаких проблем)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...