Всего 123 759 комментариев

Андрей
20 августа 2024, 17:35
0
Ну если файлы есть, то нужно смотреть есть ли что в переменных NF и result.
По идее нужна одна, вторая отвечает за загруженные файлы, которые нужны только в моем случае, это приложения к pdf заявке.
Я честно сказать уже не помню за давностью лет.
Никита
20 августа 2024, 17:11
0
Вот снипед SendFilePDF, только в нем проблема
<?php
$fields = $hook->getValues(); //поля из формы
$NF = $fields['filesToUpload'];//получаем имя и путь загруженного файла
$fields['filesToUpload'] = str_replace('assets/pdf/','',$fields['filesToUpload']);
$mail_z = $fields['contact_email'];
$message = $modx->getChunk('tpl.Bezopasnt', $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);

$modx->getService('mail', 'mail.modPHPMailer');
$modx->mail->set(modMail::MAIL_BODY, $message);
$modx->mail->set(modMail::MAIL_FROM, $modx->getOption('emailsender'));
$modx->mail->set(modMail::MAIL_FROM_NAME, $modx->getOption('site_name'));
$modx->mail->set(modMail::MAIL_SUBJECT, 'Поступила заявка');
$modx->mail->address('from', 'n.titov@berserk.by');
$modx->mail->address('to', 'nuikitatit@yandex.ru');

$modx->mail->address('reply-to', $modx->getOption('emailsender'));
$modx->mail->attach($modx->getOption('base_path').'assets/pdf/'.$result.'.pdf');
$modx->mail->attach($modx->getOption('base_path').$NF);
$modx->mail->setHTML(true);

if (!$modx->mail->send()) {
$modx->log(modX::LOG_LEVEL_ERROR,'An error occurred while trying to send the email: '.$modx->mail->mailer->ErrorInfo);
}

$modx->mail->reset();

return true;

файлы точно хранятся assets/pdf/

в журнале ошибок только вот это
[2024-08-20 17:09:23] (ERROR in modPDF @ /home/berserkb/daliom.berserk-dev.by/core/components/pdfresource/src/modPDF.php: 128) customFonts does not contain a JSON encoded array.
[2024-08-20 17:09:23] (ERROR in modPDF @ /home/berserkb/daliom.berserk-dev.by/core/components/pdfresource/src/modPDF.php: 128) customFonts does not contain a JSON encoded array.
Василий Одинцов
20 августа 2024, 16:50
0
Вроде всё работает (не работает у меня) как и раньше. На видео из вконтакта нажимаешь «Копировать код для встраивания» и уже его вставляешь сюда. Писал ещё четыре года назад: modx.pro/components/9060#comment-121112
Никита
20 августа 2024, 16:06
0
Можете написать на почту nuikitatit@yandex.ru, пришлю весь код, в логах
[2024-08-20 16:02:10] (ERROR in modPDF @ /home/berserkb/daliom.berserk-dev.by/core/components/pdfresource/src/modPDF.php: 128) customFonts does not contain a JSON encoded array.
Андрей
20 августа 2024, 16:04
0
PDF файл здесь лежит?
assets/pdf/
Логи нужно смотреть. У меня этот скрипт до сих пор работает, поэтому ошибка явно где-то в мелочах. Либо пути не те, либо еще какая-то мелочь. Так по одному куску кода можно бесконечно гадать.
Никита
20 августа 2024, 15:26
0
<?php
$fields = $hook->getValues(); //поля из формы
$NF = $fields['filesToUpload'];//получаем имя и путь загруженного файла
$fields['filesToUpload'] = str_replace('assets/pdf/','',$fields['filesToUpload']);
$mail_z = $fields['contact_email'];
$message = $modx->getChunk('tpl.Bezopasnt', $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);

$modx->getService('mail', 'mail.modPHPMailer');
$modx->mail->set(modMail::MAIL_BODY, $message);
$modx->mail->set(modMail::MAIL_FROM, $modx->getOption('emailsender'));
$modx->mail->set(modMail::MAIL_FROM_NAME, $modx->getOption('site_name'));
$modx->mail->set(modMail::MAIL_SUBJECT, 'Поступила заявка');
$modx->mail->address('to', 'nuikitatit@yandex.ru'); — свою почту
$modx->mail->address('to', $mail_z);
$modx->mail->address('reply-to', $modx->getOption('emailsender'));
$modx->mail->attach($modx->getOption('base_path').'assets/pdf/'.$result.'.pdf');
$modx->mail->attach($modx->getOption('base_path').$NF);
$modx->mail->setHTML(true);

if (!$modx->mail->send()) {
$modx->log(modX::LOG_LEVEL_ERROR,'An error occurred while trying to send the email: '.$modx->mail->mailer->ErrorInfo);
}

$modx->mail->reset();

return true;
Никита
20 августа 2024, 15:24
0
Взял данный снипед
Но сам файл не прикрепляется, ссылка есть.а файла нету
Андрей
20 августа 2024, 15:23
0
Что вы понимаете под передачей файла? Если речь о прикреплении его к письму, то там есть сниппет SendFilePDF
Никита
20 августа 2024, 14:50
0
Подскажите пожалуйста. как корректно передавать сам файл pdf, а не ссылку на него. modx.pro/help/12408/#comment-81924 — в данной статье, нету конкретно, как передать фал pdf
Сергей
20 августа 2024, 13:00
0
Таким образом выводится не хочет. Я использую pdoPage для пагинации:
[[!pdoPage?
&parents=`0`
&tpl=`tpl-news`
&limit=`6`
&sortdir=`DESC`
&includeTVs=`previewNews,uncludeNews`
&where=`{«parent»: 85}, «OR:parent»: 320, «AND:uncludeNews:=»:1`
&tplPageWrapper=`@INLINE
    [[+prev]][[+pages]][[+next]]
`
&tplPage=`@INLINE [[+pageNo]]`
&tplPageActive=`@INLINE [[+pageNo]]`
&tplPagePrev=`@INLINE «`
&tplPageNext=`@INLINE »`
&tplPagePrevEmpty=`@INLINE «`
&tplPageNextEmpty=`@INLINE »`
]]

и если по parent всё фильтруется по по чекбоксу tv uncludeNews не хочет.
Stan Ezersky
20 августа 2024, 10:57
0
NGINX'а нет? Один клиентский сайт думал переносить, там Апач
Руслан Алеев
19 августа 2024, 23:22
0
В варианты TV, вроде, можно сниппет задать, который возвращал бы нужный запрос в зависимости от контекста.
Konstantin
19 августа 2024, 12:33
0
В общем все сделал как хотел. Очень полезными нашел следующие 4 статьи:
Никита
19 августа 2024, 11:19
0
Приветствую, столкнулся с такой проблемой.
После создания лексикона, хочу его добавить на все доступные языки, едет долгая полоса загрузки, потом появляется ошибка:

В логах ошибка
"code": 403,
    "message": "User Rate Limit Exceeded",





Sergey (Sentinel)
19 августа 2024, 01:16
0
А как-то можно сервис другой подключить? А то стоит компонент со скидками msDiscount и он в modal цену не подгружает

public_html/core/components/pdotools/model/pdotools/pdoparser.class.php(64): 
modParser->processElementTags('', '\\r\\n\\r\\n\\r\\n[[!QuickV...', true, false, '[[', ']]', 
Array, 9)\n#5 /home/i/public_html/core/model/modx/modresource.class.php(546): 
pdoParser->processElementTags('', '\\ in /home/i/public_html/core/cache/includes/elements/modsnippet/69.include.cache.php on line 22

upd разобрался
vit
vit
16 августа 2024, 23:41
0
Если будет вопросы пишите помогу
Николай Савин
16 августа 2024, 16:34
+1
8.0 с небольшими нюансами поддерживает. А вот с 8.1 будет больше забот.
Konstantin
16 августа 2024, 16:30
0
Спасибо что нашли время написать ответ! Буду капать в сторону MIGX db
Alexey
16 августа 2024, 09:32
0
Спасибо за труд!
skrinshoter.ru/s/160824/aSRanUBk — я правильно понимаю, что эта версия компонента поддерживает php 8+?