1. Отображение своего шаблона на странице записи т.к. пользователям не нужно 90% того, что есть на странице.
И так как все равно готовится шаблон для печати, то почему бы не использовать его и отображать сразу на странице записи.
2. в форме проводятся расчеты "на лету" в AJAX запросе с формированием динамического чертежа.
отобразить результат этих расчетов на странице записи и на печати.
Решение, может костыльное, я не совсем программист.
форма ввода для рассчетов ТЗ на резку материала В конце кода записываем результат в базу данных в поле 2313 - Тип поля Статический текст по шаблону
Это нам дает возможность использовать результат из базы данных в шаблоне для печати
Подошел только этот тип поля.
Код: Выделить всё
// Сохраняем результат в поле с ID 2313
db_query("UPDATE app_entity_38 SET field_2313 = '" . addslashes($result_html) . "' WHERE id = '{$item_id}'");
Дальше на странице записи добавляем JS код который отображает наш заранее созданный шаблон для экспорта/печати
в котором уже есть ссылка на поле Тип поля Статический текст по шаблону
Код: Выделить всё
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<div id="printtz" class="export-template"></div>
<script>
$(function () {
// Ссылка на шаблон для printtz
const url = `https://site/index.php?module=items/export_template&path==36-45/38-[id]&templates_id=16 #export_templates_preview`;
// Загружаем содержимое в printtz
$("#printtz").load(url, function () {
// Отобразить #printtz вместо .item-content-box.ckeditor-images-content-prepare
$(".item-content-box.ckeditor-images-content-prepare").html($("#printtz").html());
// Затем скроем printtz, если больше не нужен
$("#printtz").hide();
});
});
</script>
</body>
Собственно предложение:
1. Почему бы не сделать шаблон для экспорта в настройках как опция для отображения страницы печати. Одна колонка
Две колонки
Шаблон печати
2. Ввести тип поля, который позволит отображать из базы данных html - вроде тип поля LONGTEXT