проблемы со сниппетом при переходе на 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-й версии и как это поправить?
Андрей
20 мая 2022, 14:38
modx.pro
663
0

Комментарии: 4

Артур Шевченко
20 мая 2022, 23:50
0
Либо ты шаришь в php, тогда читай changelog, смотри исходники и ищи ошибку, либо оставайся пока на 2.8.4
    Андрей
    21 мая 2022, 08:16
    0
    Спасибо, это очевидные альтернативы.
    Я, конечно, вернулся на 2.8.4.
    Но дело в том, что это самописные сниппеты, кроме меня никто их не обновит и рано или поздно этот вопрос все равно придется решать.
      Артур Шевченко
      21 мая 2022, 10:53
      0
      Рано или поздно те кто в курсе всех нюансов дадут пояснения)))
        Андрей
        23 мая 2022, 10:51
        0
        проблема оказалась в 3-й версии pdoTools.
        $content = $pdo->getChunk($pdfTpl, $fields);
        заменил на штатный обработчик чанков и все заработало
        $content = $modx->getChunk($pdfTpl, $fields);
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    4