проблемы со сниппетом при переходе на ModX 3
есть 2 сниппета
$fields = $hook->getValues(); //поля из формы
$fields['filesToUpload'] = str_replace('assets/pdf/','',$fields['filesToUpload']);
$mail_z = $fields['contact_email'];
$message = $modx->getChunk('sentEmailTpl', $fields);
//формируем PDF
$pdo = $modx->getService('pdoFetch');
$pdfTpl = $modx->getOption('pdfTpl', $formit->config, '', true);
$content = $pdo->getChunk($pdfTpl, $fields);
$config = array();
$config = array_merge($config, $fields, array(
'content' => $content,
'author' => $author,
'title' => $title,
));
// формируем ссылку на PDF
$result = $modx->runSnippet('PdfCreate', $config);
и PdfCreate<?php
$date = date('Y-m-d_H-i-s', time()) . '_' .rand(1, 100);
$corePath = $modx->getOption('pdfresource.core_path', null, $modx->getOption('core_path') . 'components/pdfresource/');
$pdfresource = $modx->getService('pdfresource', 'PDFResource', $corePath . 'model/pdfresource/', array(
'core_path' => $corePath
));
$content = $modx->getOption('content', $scriptProperties, '', true);
$title = $modx->getOption('title', $scriptProperties, '', true);
$author = $modx->getOption('author', $scriptProperties, '', true);
$aliasPath = MODX_ASSETS_PATH . 'pdf/';
$site_url = $modx->getOption('site_url');
// настройки PDFResource (подробнее почитать здесь: http://jako.github.io/PDFResource/usage/)
$pdfresource->initPDF(array(
'mode' => 'utf-8',
'format' => 'A4',
'defaultFontSize' => intval(13),
'defaultFont' => '',
'mgl' => intval(30), // margin left
'mgr' => intval(10), // margin right
'mgt' => intval(30), // margin top
'mgb' => intval(10), // margin bottom
'mgh' => intval(10), // margin header
'mgf' => intval(10), // margin footer
'orientation' => 'P', // ориентация PDF
'customFonts' => '[]',
));
$pdfresource->pdf->SetTitle($title);
$pdfresource->pdf->SetAuthor($author);
$pdfresource->pdf->SetCreator($modx->getOption('site_url'));
$pdfresource->pdf->WriteHTML($content, 2);
$file_name = $date;
$pdfresource->pdf->Output($aliasPath . $file_name . '.pdf', 'F');
return $file_name;
они используются как хуки в FormIT и в сумме получают данные, формируют из них pdf файл, который потом отправляется по почте. В ModX 2.* все отлично работает, но при переходе на 3 версию файл генерится, но содержит массив, состоящий из плейсхолдеров, которые должны были использоваться при генерации pdf, видимо проблема либо с передачей чанка с шаблоном будущего pdf либо с его обработкой, то есть вероятно здесь$pdfTpl = $modx->getOption('pdfTpl', $formit->config, '', true);
$content = $pdo->getChunk($pdfTpl, $fields);
Никто не знает, что изменилось в 3-й версии и как это поправить? Комментарии: 4
Либо ты шаришь в php, тогда читай changelog, смотри исходники и ищи ошибку, либо оставайся пока на 2.8.4
Спасибо, это очевидные альтернативы.
Я, конечно, вернулся на 2.8.4.
Но дело в том, что это самописные сниппеты, кроме меня никто их не обновит и рано или поздно этот вопрос все равно придется решать.
Я, конечно, вернулся на 2.8.4.
Но дело в том, что это самописные сниппеты, кроме меня никто их не обновит и рано или поздно этот вопрос все равно придется решать.
Рано или поздно те кто в курсе всех нюансов дадут пояснения)))
проблема оказалась в 3-й версии pdoTools.
$content = $pdo->getChunk($pdfTpl, $fields);
заменил на штатный обработчик чанков и все заработало$content = $modx->getChunk($pdfTpl, $fields);
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.