СДЕК Печать трек-номеров в заказах

Добрый день!

Кто-то реализовал у себя печать трек-номеров в заказах?
Подключен метод доставки СДЕК, при обработки заказа создают трек-номер но нет возможности распечатать внутри магазина.

Добрый день!

Скажите пожалуйста, какая у вас версия магазина?
Тоже интересует такоя возможность.

Multi-Vendorv4.17.1

Будет проще заказать доработку, готовым модулем такое мало кому будет интересно, специфичная задача. К примеру, у нас есть модуль отслеживания заказов СДЭК, но даже в нем будет странно печать выглядеть только для него.

Вы имеете в виду отслеживание статусов заказов?
Этот MUSTHAVE :: Синхронизация статусов доставки из курьерских служб - Готовые модули, разработка, аддоны для CS-cart, 1c-Bitrix

да, этот

Человек это понимает и спрашивает в общем

Вообще надо лишь добавить переменную в массив значений, которые передаются для редактора макета печати, и через хук заполнить эту переменную значение трек номера в функции получения данных по заказу. Тогда эту переменную можно вставить в шаблон деталей заказа для печати.

Как я делал:
Можно через схему, но мне надо было быстро и поэтому мудрить не стал
/app/Tygh/Template/Document/Order/Variables/OrderVariable.php

    /**
     * @inheritDoc
     */
    public static function attributes()
    {
        return array(
            'order_id', 'company_id', 'issuer_id', 'user_id', 'tracking_number', 'shippings_method',
            'total', 'subtotal', 'discount', 'subtotal_discount', 'payment_surcharge',
            'display_subtotal', 'shipping_cost', 'timestamp', 'notes', 'details', 'company', 'payment_id',
            'tax_exempt', 'tax_name', 'tax_total', 'lang_code', 'ip_address', 'tax_exempt_text', 'tax_name', 'tax_total',
            'tax_subtotal', 'display_shipping_cost', 'secondary_currency', 'coupon_code', 'invoice_header', 'invoice_id_text',
'full_weight', 'mp_name', 'mp_order_id', 'mp_order_shipment_date_text',

добавил строчку

'full_weight', 'mp_name', 'mp_order_id', 'mp_order_shipment_date_text',

со своими переменными, значения которых надо выводить
Далее
цепляемся к хуку

 fn_set_hook('get_order_info', $order, $additional_data);

и добавляем в $order нужный элемент с нужным значением (full_weight пришлось рассчитывать прямо в функции ядра, а ‘mp_order_id’ - поле в таблице orders, поэтому в функции ниже их нет)

function fn_avp_marketplaces_get_order_info(&$order, $additional_data) 
{
    if($order['mp_id'] > 0) {
        $order['mp_name'] = db_get_field("SELECT mp_short_name FROM ?:avp_marketplaces WHERE mp_id = ?i", $order['mp_id']);
        $order['mp_order_shipment_date_text'] = date("j m Y", $order['mp_order_shipment_date']);
    }
    return true;
}

Теперь я могу добавлять свом переменные в шаблн для печати деталей заказа, а вы по аналогии - вашу переменную с трек-номером в тот же шаблон для печати (переменная будет доступна для выбора в списке доступных значений слева)

PS
ну и раз пошла такая пьянка - добавлю
/app/Tygh/Template/Snippet/Table/ProductVariable.php
здесь можно добавить свои переменные для сниппета товаров (я добавил в коде ниже последнюю строчку)

    public static function attributes()
    {
        return array(
            'item_id', 'product_id', 'product_code', 'name', 'price', 'amount', 'product_status', 'product_url', 'deleted_product',
            'discount', 'company_id', 'base_price', 'original_price', 'cart_id', 'tax', 'subtotal', 'display_subtotal',
            'shipped_amount', 'shipment_amount', 'is_accessible', 'shared_product', 'unlimited_download',
            'is_edp', 'edp_shipping', 'stored_price', 'counter', 'main_pair', 'image', 'options',
'storage_place', 'is_action',

и значения им присваивать через хук

fn_set_hook('get_order_items_info_post', $order, $v, $k);
2 лайка