Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 120 комментариев

Артур Шевченко
Артур Шевченко
События срабатывают всегда. ЕСли JS ты не видишь результатов работы твоего скрипта на какое-то событие, то возможно есть ошибки в твоем коде, в коде который писали до тебя и он выполняется раньше твоего. Если же ты не видишь результатов работы плагина так же стоит проверить приоритет, если он низки, то другие плагины на это же событие могут затирать результат работы твоих скриптов.
Ivan K.
Ivan K.
Здравствуйте.
Решил на новом проекте использовать ваш замечательный компонент.
Отлично все реализовано, спасибо вам за труд.
Но в документации нашел опечатку:
docs.modx.pro/components/sendit/development
Раздел «Свой сниппет для обработки данных „
У вас
return $SendIt->error($validationErrorMessage, ['erorrs' => ['fieldName' => 'Тут текст ошибки']]);
Так не работает, так как опечатка в “erorrs» нужно «errors».
weranda
weranda
Я имел в виду, что оно отлично работает от PDOMenu в контексте использования параметра hideSubMenus. Т. е. если hideSubMenus = 0, то все пункты меню всего меню раскрыты и их можно заделать стилями, в этом нет проблемы. Но когда hideSubMenus = 1, то PDOMenu в этом случае показывает только активную ветку меню, скрывая остальные, а plCustomMenu скрывает вообще все ветки, оставляя только первый уровень. Просто не хотелось бы выводить все огромное меню разом.
Impulse
Impulse
Всем привет. В документации сказано что меняются только цены в зависимости от города, но только в товарах минишопа если я верно понял. У меня возникла задача:
1. Только у определенных страниц подставлять город, то есть страницы: Главная/Контакты/Блог и тд. не зависимо от города должны будут открываться по своим адресам, а вот раздел Вакансии и вложенные в него страницы с подстановкой города, возможно ли такое?
2. Возможно ли у обычных страниц (не товары минишопа) менять информацию в зависимости от города?
Андрей
Андрей
Ну если файлы есть, то нужно смотреть есть ли что в переменных NF и result.
По идее нужна одна, вторая отвечает за загруженные файлы, которые нужны только в моем случае, это приложения к pdf заявке.
Я честно сказать уже не помню за давностью лет.
Никита
Никита
Вот снипед 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.
Никита
Никита
Можете написать на почту 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.
Андрей
Андрей
PDF файл здесь лежит?
assets/pdf/
Логи нужно смотреть. У меня этот скрипт до сих пор работает, поэтому ошибка явно где-то в мелочах. Либо пути не те, либо еще какая-то мелочь. Так по одному куску кода можно бесконечно гадать.
Никита
Никита
<?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;