Добрий день!
Хочу поділитися як налаштувати модуль Сertificate
Справа в тому що при відкритті сертифіката замість прізвищ ви отримаєте ?????????, тобто немає підтримки кирилиці
Вирішення просте.
Модуль Сертифікат використовую бібліотеку TCPDF (включена в мудл як стандартна) для генерації pdf, знаходимо потрібний шрифт з підтримкою кирилиці, конвертуємо далі завантажуємо всі три файла на сервер в теку lib/tcpdf/fonts/
Тепер створюємо власний шаблон на базі A4 non-embedded
Попередньо створимо власний шаблон, для цього в файлі /mod/certificate/lang/uk/certificate.php додамо рядок з назвою нашого шаблону
$string['typeA4_custom'] = 'МійA4 Certificate';
Заходимо в теку /mod/certificate/type/ створюємо теку власно шаблону, наприклад - A4_custom копіюємо в неї вміст теки A4_non_embedded і редагуємо файл certificate.php
Це для того щоб в меню вибору шаблону сертифікату з’явився наш шаблон
Далі створюємо сам сертифікат, тобто додаємо діяльність сертифікат, вибираємо наш шаблон.
В файлі міняємо назви, розмір і колір на власні завантажені, наприклад:
- // Add text
- $pdf->SetTextColor(0, 0, 120);
- certificate_print_text($pdf, $x, $y, 'C', 'lobsteri', '', 30, get_string('title', 'certificate'));
- $pdf->SetTextColor(0, 0, 0);
- certificate_print_text($pdf, $x, $y + 20, 'C', 'opensans', '', 20, get_string('certify', 'certificate'));
- $pdf->SetTextColor(0, 119, 187);
- certificate_print_text($pdf, $x, $y + 36, 'C', 'lorabi', '', 36, fullname($USER));
- $pdf->SetTextColor(0, 0, 0);
- certificate_print_text($pdf, $x, $y + 55, 'C', 'vodafonerg', '', 20, get_string('statement', 'certificate'));
- certificate_print_text($pdf, $x, $y + 72, 'C', 'bebasneuecyrillic', '', 42, format_string($course->fullname));
- $pdf->SetTextColor(51, 51, 51);
- certificate_print_text($pdf, $x, $y + 92, 'C', 'vodafonerg', '', 14, certificate_get_date($certificate, $certrecord, $course));
- certificate_print_text($pdf, $x, $y + 102, 'C', 'opensans', '', 10, certificate_get_grade($certificate, $course));
- certificate_print_text($pdf, $x, $y + 112, 'C', 'opensans', '', 10, certificate_get_outcome($certificate, $course));
- if ($certificate->printhours) {
- certificate_print_text($pdf, $x, $y + 122, 'C', 'opensans', '', 10, get_string('credithours', 'certificate') . ': ' .$certificate->printhours);
- }
- $pdf->SetTextColor(77, 77, 77);
- certificate_print_text($pdf, $x, $codey, 'C', 'opensans', '', 10, certificate_get_code($certificate, $certrecord));
- $i = 0;
- if ($certificate->printteacher) {
- $context = context_module::instance($cm->id);
- if ($teachers = get_users_by_capability($context, 'mod/certificate:printteacher', '', $sort = 'u.lastname ASC', '', '', '', '',false)) {
- foreach ($teachers as $teacher) {
- $i++;
- $pdf->SetTextColor(0, 119, 187);
- certificate_print_text($pdf, $sigx, $sigy + ($i * 4), 'L', 'adventurei', '', 18, fullname($teacher));
- }
- }
- }
Зразок сертифікату