<%= title %>

Fields marked with * are required.

<% if (programme._id && frontendUrl) { %> Preview <% } %> Back to list
<%# Hidden JSON inputs for dynamic arrays %>
<%# ─── TAB 1: Basic Info ─────────────────────────────────────────── %>
Dùng làm URL slug: /programmes/bs-cs
Tự sinh từ ID nếu để trống. Hiện tại: /programmes/<%= programme.id || '…' %>
>
<%# ─── TAB 2: Detail Page ────────────────────────────────────────── %>
<% /* placeholder col */ %>
<%# Hero Image Upload %>
Hoặc upload file:
<% const hi = programme.heroImage; if (hi) { %> <% let src = hi; if (!src.startsWith('http')) { src = src.startsWith('/') ? src : '/' + src; } %> <% } else { %>
No image
<% } %>
<%# ─── TAB 3: Curriculum ─────────────────────────────────────────── %>
Core Courses
Môn học bắt buộc trong chương trình
<% (programme.coreCourses || []).forEach(function(course, idx) { %>
<% }); %>

Electives
Môn học tự chọn
<% (programme.electives || []).forEach(function(elective) { %>
<% }); %>
<%# ─── TAB 4: Outcomes ───────────────────────────────────────────── %>
Learning Outcomes
Những gì sinh viên đạt được sau khoá học
<% (programme.outcomes || []).forEach(function(outcome) { %>
<% }); %>
<%# ─── TAB 5: FAQs ───────────────────────────────────────────────── %>
Frequently Asked Questions
Câu hỏi thường gặp trên trang chi tiết chương trình
<% (programme.faqs || []).forEach(function(faq) { %>
<% }); %>
<%# ─── TAB 6: Pricing ────────────────────────────────────────────── %>
<%# end .tab-content %>
<%# end .card-body %>
<%# end .card %>
Cancel