Модуль для генерации случайных чисел заказ?

Тема в разделе "Opencart", создана пользователем Ahmad, 27 окт 2013.

Информация :
Внимание форумчане! При создании тем, или выкладывании какой-либо информации проверьте в какой ветке форума вы находитесь! Не путайте Opencart и Opencart2. При несоблюдении данного условия выносится соответствующее наказание! И потом не говорите что вас НЕ ПРЕДУПРЕЖДАЛИ! По возможности используйте обменники mail, yandex, google, dropbox, rghost Дабы избежать просьб перезалить и проблем с рекламой!
Модераторы: ZiX
  1. Ahmad

    Ahmad Постоялец

    Регистр.:
    4 май 2013
    Сообщения:
    86
    Симпатии:
    1
    Есть модуль, который позволяет использовать случайные числа порядка, подобные тем, которыми Amazon?

    Примеры:

    105-5471226-9043029
    104-7858994-6164891

    Я нашел несколько модулей, которые используют такие вещи, как дата, и т.д., для получения номера заказа, но все же они не 100% случайных чисел, как те выше.
     
  2. den114

    den114 Постоялец

    Регистр.:
    11 мар 2007
    Сообщения:
    51
    Симпатии:
    20
    Miu Piu нравится это.
  3. Ahmad

    Ahmad Постоялец

    Регистр.:
    4 май 2013
    Сообщения:
    86
    Симпатии:
    1
    Тем не менее дожидаясь ответа ..
     
  4. COLOBOCman

    COLOBOCman Постоялец

    Регистр.:
    26 апр 2013
    Сообщения:
    122
    Симпатии:
    30
    Вот подобный модуль

    Сам интересуюсь этим вопросом, если еще что накопаю - напишу.
     
  5. sale

    sale Создатель

    Регистр.:
    8 фев 2014
    Сообщения:
    46
    Симпатии:
    15
    30 баксов жалко отдавать за такой модуль. Хорошая идея для начинающих магазинов. В глаза не бросается номер заказа 5. А так номер буде 2581225-005. Круто же. Но, блин, не 30 баксов же.
     
  6. COLOBOCman

    COLOBOCman Постоялец

    Регистр.:
    26 апр 2013
    Сообщения:
    122
    Симпатии:
    30
    ладно, чуть разобрался, коротко опишу здесь.
    генерация номера заказа происходит автоматически в БД, за это отвечает атрибут AUTO_INCREMENT ключа order_id, таблицы order.
    Как сделать "кастомной" генерацию номера заказа:
    1. Убрать вышеуказанный атрибут таблицы(проще всего сделать через пхпмайадмин)
    2. В файле /catalog/model/checkout/ordep.php написать отдельную функцию, которая будет генерировать номер
    3. Изменить функцию addOrder, в которой в первом INSERTе явно указать сгенерированный номер, и поместить его в переменную $order_id (вместо $this->db->getLastId())

    ПРЕДУПРЕЖДАЮ: это не руководство, это просто подсказка куда копать для людей, понимающих в MYSQL и PHP


    Если нужно просто отправить пользователю немного иной номер заказа, но не менять архитектуру магазина, можно изучить Перейти по ссылке
     
  7. sale

    sale Создатель

    Регистр.:
    8 фев 2014
    Сообщения:
    46
    Симпатии:
    15
    Это главное условие. Модулем бы это сделать.
     
  8. Ahmad

    Ahmad Постоялец

    Регистр.:
    4 май 2013
    Сообщения:
    86
    Симпатии:
    1

    Я могу попытаться сделать это сам. Единственная проблема, которую я вижу, что 'Order ID' не может быть что-то вроде этого: "105-5471226-9043029". Это может быть это только: "10554712269043029". Как я могу сохранить 'Order ID' как это слишком: "105-5471226-9043029"?
     
  9. COLOBOCman

    COLOBOCman Постоялец

    Регистр.:
    26 апр 2013
    Сообщения:
    122
    Симпатии:
    30
    как вариант изменить тип order_id на varchar, но после этого надо будет менять в моделях админки, и каталога все SELECT
     
  10. Ahmad

    Ahmad Постоялец

    Регистр.:
    4 май 2013
    Сообщения:
    86
    Симпатии:
    1
    Любая идея, где изменения должны будут именно? Я имею в виду, в котором файлы?