Частина 2 — Мітка ObserviX у замовленні

У кожне замовлення записати одне поле — obx_visitor_id з cookie obx_vid.

Що
Колонка oc_order.obx_visitor_id, значення з cookie obx_vid
Де
catalog/controller/checkout/cart_b2c.php → sendorder()
Готово, коли
У картці тестового замовлення видно UUID з cookie

Як це виглядає на сайті

Форма одна — #fast_order_from на /checkout/. Перевірено 22.09.2026.

pixel.js

cookie obx_vid = 01a0c86c-5956-7801-a63d-e6d75e5520bb

Покупець тисне «Оформити замовлення»

.fast_rder → $("#fast_order_from").serialize()

ajax POST

index.php?route=checkout/cart_b2c/sendorder (cookie їде разом)

sendorder() читає cookie

$this->request->cookie['obx_vid']

oc_order.obx_visitor_id

частина 3 надсилає його при кожній зміні статусу

Кроки

  1. 01

    Прочитати cookie в sendorder()

    Cookie приходить разом з ajax-запитом до checkout/cart_b2c/sendorder.

    орієнтовна реалізація · на розгляд
    // catalog/controller/checkout/cart_b2c.php
    public function sendorder() {
        // ... валідація як зараз ...
    
        $obx_visitor_id = isset($this->request->cookie['obx_vid'])
            ? substr(trim($this->request->cookie['obx_vid']), 0, 36)
            : '';
    
        $order_data['obx_visitor_id'] = $obx_visitor_id;
        // ... addOrder($order_data) як зараз ...
    }
  2. 02

    Зберегти в замовлення

    Окрема колонка, не comment і не JSON.

    орієнтовна реалізація · на розгляд
    ALTER TABLE `oc_order` ADD COLUMN `obx_visitor_id` VARCHAR(36) NOT NULL DEFAULT '';
    орієнтовна реалізація · на розгляд
    // catalog/model/checkout/order.php → addOrder(), у наявний INSERT
    `obx_visitor_id` = '" . $this->db->escape($data['obx_visitor_id'] ?? '') . "',
  3. 03

    Показати в адмінці

    Один рядок у картці замовлення: admin/view/template/sale/order_info.twig.

Альтернатива — через форму

Якщо зручніше з POST: приховане поле, заповнене перед кліком.

орієнтовна реалізація · на розгляд
<!-- усередині <form id="fast_order_from"> -->
<input type="hidden" name="obx_visitor_id" value="">

<script>
$(".fast_rder").on("click", function () {
  $("#fast_order_from [name=obx_visitor_id]").val(
    (window.getObxVisitorId && window.getObxVisitorId()) || ""
  );
});
</script>

Перевірка

  • В інкогніто на u-win.com.ua у консолі window.getObxVisitorId() повертає UUID
  • Оформити тестове замовлення через звичайну форму на /checkout/
  • У картці замовлення в адмінці obx_visitor_id дорівнює цьому UUID — скріншот, і частина закрита