Добавить данные в "Распечатать упаковочный реестр" в ПДФ у Вендора

Привет. У Вендора в заказе есть опция “Распечатать упаковочный реестр”
Как добавить в этот ПДФ в таблицу списка товаров колонку или добавить текст в существующую ячейку в строке?

Нашёл fn_print_order_packing_slips и дошёл до renderTemplate в app/Tygh/Template/Renderer.php , но там не понял что делать, а хук get_shipments_info_post никак не помогает

Пока что сделал в app/Tygh/Template/Document/PackingSlip/Context.php в конструкте
if(!empty($products)){
foreach ($products as $k=>$product) {
$pc = $product[‘product_code’];
$pi = $product[‘product_id’];
$find = db_get_field(“select articol from ?:habb_articols
where(product_code=’$pc’ and product_id=’$pi’);”);

            if($find)
                $products[$k]['product_code'] = "$pc; \nАртикул:$find;";
        }
    }

но интересует конечно как через модуль сделать?

Любите вы идти по сложному пути. Достаточно зайти в Администрирование->Уведомления->Документы, там выбрать Упаковочный лист там смотрим
Таблица товаров и добавляем нужную колонку. Так же обратите внимание на сниппеты - возможно там тоже захотите что-то подредактировать.

PS: информацию привел для обычного цскарта, в MV могут быть небольшие отличия.

1 лайк

Спасибо, буду знать, что есть такое.
Однако мне нужны данные из другой таблицы (?:habb_articols), а там переменные только из продактс

Сходу сложно подсказать, так как с расширением схем документов как то не довелось работать. Но есть схема app/schemas/snippets/packing_slip_products_table.php которая указывает что переменные берутся из app/Tygh/Template/Snippet/Table/ProductVariable.php в теории нужно делать свой модуль в котором поменять схему и указать на собственный класс ProductVariable.php в котором будут реализованы все необходимые переменные, хотя возможно есть способ расширить список переменных и без переопределения класса, но в голову пока ничего не приходит(как то не доводилось расширять схемы которые берут данные из класса, в итоге не знаю можно ли просто добавить еще и свой класс или нужно переопределять исходный).