@php $bulan_indonesia = [ 1 => 'Januari', 2 => 'Februari', 3 => 'Maret', 4 => 'April', 5 => 'Mei', 6 => 'Juni', 7 => 'Juli', 8 => 'Agustus', 9 => 'September', 10 => 'Oktober', 11 => 'November', 12 => 'Desember' ]; $completion_date = $certificate->created_at; $timestamp = strtotime($completion_date); $hari = date('j', $timestamp); $bulan_angka = (int)date('n', $timestamp); $tahun = date('Y', $timestamp); $course_completion_date = $hari . ' ' . $bulan_indonesia[$bulan_angka] . ' ' . $tahun; $course_duration = $certificate->course->total_duration(); $student_name = $certificate->user->name; $course_title = $certificate->course->title; $number_of_lesson = $certificate->course->lessons->count(); $qr_code = $qrcode; $certificate_id = $certificate->identifier; $certificate_download_date = date('d M Y'); $course_level = ucfirst($certificate->course->level); $course_language = ucfirst($certificate->course->language); $instructor_name = ''; foreach ($certificate->course->instructors() as $instructor) { $instructor_name .= '

' . $instructor->name . '

'; } // --- PERBAIKAN DI SINI (Hapus tanda = yang nyasar) --- $sections = $certificate->course->sections()->orderBy('sort', 'asc')->get(); // --- PERBAIKAN NAMA VARIABEL --- // Ubah $section_list menjadi $section_list_html agar sesuai dengan pemanggilan di bawah $section_list_html = '
    '; foreach ($sections as $section) { $section_list_html .= '
  1. ' . $section->title . '
  2. '; } $section_list_html .= '
'; $certificate_builder_content = get_settings('certificate_builder_content'); // Replacements Array (Agar lebih rapi dan bisa dipakai ulang) $replacements = [ '{course_duration}' => $course_duration, '{instructor_name}' => $instructor_name, '{student_name}' => $student_name, '{course_title}' => $course_title, '{number_of_lesson}' => $number_of_lesson, '{qr_code}' => $qr_code, '{course_completion_date}' => $course_completion_date, '{certificate_id}' => $certificate_id, '{certificate_download_date}' => $certificate_download_date, '{course_level}' => $course_level, '{course_language}' => $course_language, ]; // Proses Halaman 1 foreach ($replacements as $key => $value) { $certificate_builder_content = str_replace($key, $value, $certificate_builder_content); } // Update Image Src Halaman 1 $newSrc = get_image(get_settings('certificate_template')); $certificate_builder_content = preg_replace('/(]*class=["\']certificate-template["\'][^>]*src=["\'])([^"\']*)(["\'])/i', '${1}' . $newSrc . '${3}', $certificate_builder_content); // --- PEMROSESAN HALAMAN TAMBAHAN (DETAILS) --- $certificate_builder_content_details = get_settings('certificate_builder_content_details'); // Proses Halaman 2 foreach ($replacements as $key => $value) { $certificate_builder_content_details = str_replace($key, $value, $certificate_builder_content_details); } // Masukkan Section List (Pastikan variabelnya $section_list_html) $certificate_builder_content_details = str_replace('{section_list}', $section_list_html, $certificate_builder_content_details); // Update Image Src Halaman 2 $newSrcDetails = get_image(get_settings('certificate_template_details')); $certificate_builder_content_details = preg_replace('/(]*class=["\']certificate-template-details["\'][^>]*src=["\'])([^"\']*)(["\'])/i', '${1}' . $newSrcDetails . '${3}', $certificate_builder_content_details); @endphp {{-- Capture Certificate Wrapper --}}
{{-- Halaman 1 --}}
{!! $certificate_builder_content !!}
{{-- Halaman 2 (Baru) --}} {{-- Style margin-top hanya visual di web, tidak mempengaruhi PDF split --}}
{!! $certificate_builder_content_details !!}
{{-- Capture Certificate End --}} {{-- Preview Certificate --}}
{{-- Tampilkan kedua halaman di preview juga --}}
{!! $certificate_builder_content !!}
{!! $certificate_builder_content_details !!}