Перейти к содержанию
  • RU
    • Язык
Не приобретайте модули вне площадки, чтобы не быть обманутыми!

nikifalex

Разработчик
  • Постов

    150
  • Зарегистрирован

  • Посещение

  • Победитель дней

    10

nikifalex стал победителем дня 12.04 2024

nikifalex имел наиболее популярный контент!

Информация о nikifalex

Посетители профиля

2 469 просмотров профиля
  1. уже придумали что делать будете если модуль не запустится на работающем сайте из-за проверки лицензии, потому что автор забыл продлить сервер?
  2. ждите 3 дня и 3 ночи. а потом оформляйте возврат
  3. Твой код рабочий. getLastId() берёт mysqli->insert_id, а он привязан к соединению, поэтому при одновременном оформлении заказов каждый получит свой ID, путаницы не будет. Но я бы сделал иначе: 1. Не править ядро, а повесить событие. addOrder правят многие модули через OCMOD (быстрые заказы, CRM, обмен с 1С). Правка в ядре может конфликтовать с ними и слетит при обновлении. В OC 3 / ocStore 3 на это есть событие catalog/model/checkout/order/addOrder/after, и в $output приходит готовый order_id. catalog/controller/extension/module/invoice_eq_order.php: <?php class ControllerExtensionModuleInvoiceEqOrder extends Controller { public function setInvoice(&$route, &$args, &$output) { $order_id = (int)$output; if ($order_id) { $this->db->query("UPDATE `" . DB_PREFIX . "order` SET invoice_no = '" . $order_id . "' WHERE order_id = '" . $order_id . "' AND invoice_no = 0"); } } } Регистрация (в install() модуля или одним разом): $this->load->model('setting/event'); $this->model_setting_event->addEvent('invoice_eq_order', 'catalog/model/checkout/order/addOrder/after', 'extension/module/invoice_eq_order/setInvoice'); 2. Подумай, в какой момент присваивать номер. addOrder срабатывает уже на шаге подтверждения, когда заказ ещё в статусе 0. Брошенные и неоплаченные заказы тоже получат счёт, и в нумерации счетов появятся дыры. Если счёт нужен только по реальным заказам, вешай событие на catalog/model/checkout/order/addOrderHistory/after. Там order_id лежит в $args[0], а $args[1] — новый статус. Номер ставь, когда статус входит в config_processing_status / config_complete_status. 3. Префикс. В админке счёт выводится как invoice_prefix + invoice_no, по умолчанию получится INV-2026-00123. Если нужен просто номер заказа, очисти префикс в настройках магазина. Он сохраняется в заказ при создании, так что у старых заказов останется прежний. 4. Кнопка «Сгенерировать» в админке. Она показывается только при invoice_no = 0, поэтому у новых заказов её не будет и стандартный createInvoiceNo() (MAX+1) их не перебьёт. 5. Старые заказы, если нужно их выровнять: UPDATE oc_order SET invoice_no = order_id WHERE invoice_no = 0 AND order_status_id > 0;
  4. а вот лично у вас какая зарплата? Вас бы устроила зарплата 80тыс у м.Тверская?
  5. я только сборку от лайфа, про других не в курсе. А вообще пофиг умеючи то. Но дело не в этом вообще, а в том, что без программиста сделать сайт всеравно не получится. Только время терять. Это вам не вротпресс.
  6. вы давно видели тут поддержку клубной сборки? более того, даже старый репозиторий был удален и вместо него создан новый https://github.com/mpn2005/ocClub3
  7. Нужно трижды подумать прежде чем брать именно клубную сборку. Вы спросите "почему"?
  8. дайте ссылку на страницу, ту где вы 404 видите. автор посмотрит, и поймет в чем проблема.
  9. завязывайте с сайтами. не дано это вам. ну или посмотрите раздел "покупатели"
×
×
  • Создать...