Bài viết này sẽ giúp các bạn có một cái nhìn tổng quan về kiến trúc theme NukeViet 2.0 RC2 qua việc tìm hiểu vị trí & hình thức của các hàm cơ bản trong theme. Từ đó có thể tự mình tìm hiểu và xây dựng theme trên nền hệ thống NukeViet 2.0
Tổng quan kiến trúc trang chủ (với module News làm module chính.)
Bài 1: Các khái niệm về theme.
Theme là gì?
Trong
hệ thống NukeViet, theme là các giao diện khác nhau giúp bạn có thể
thay đổi hình thức website một cách nhanh chóng. Mỗi theme trong hệ
thống NukeViet được tạo bởi một hệ thống các tệp tin trong đó quan
trọng nhất (bắt buộc phải có ở tất cả các theme) là 2 tệp tin theme.php
và style.css, ngoài ra còn có thể có các tệp hình ảnh đồ họa với mục
đích trang trí cho Website.
NukeViet sử dụng theme như thế nào trong việc thể hiện giao diện trang Web?
Theme
là một giải pháp đơn giản nhất mà các portal như NukeViet sử dụng trong
việc thể hiện giao diện Website. Với giải pháp này, các ứng dụng &
tính năng hệ thống được tách riêng, giao diện Website được tách riêng.
Việc tách riêng như vậy giúp cho công việc thiết kế giao diện thoát
khỏi việc đi kèm với việc thiết kế các ứng dụng và ngược lại, đây là
một kiểu chuyên nghiệp hóa và cũng là đơn giản hóa công việc thiết kế
giao diện. Như vậy khi nạp hệ thống chỉ cần trộn tính năng với giao
diện là bạn sẽ có một Website hoàn chỉnh, rất uyển chuyển mà không sợ
đụng hàng.
Cấu trúc file của một theme trong NukeViet?
Một theme chuẩn trong hệ thống NukeViet được bố trí theo cấu trúc như sau:
theme.php
style\style.css
images\các file ảnh sử dụng trong theme (nếu có)
Tất
cả các file và thư mục trên được đặt trong một thư mục, tên thư mục
chính là tên theme. Ta gọi chúng là theme. Các theme được đặt trong thư
mục themes của hệ thống NukeViet.
Như vậy, nếu nhìn từ thư mục gốc của hệ thống NukeViet thì 1 theme có cấu trúc cây thư mục như sau:
themes\Tên_theme\theme.php
themes\Tên_theme\style\style.css
themes\Tên_theme\images\các file ảnh sử dụng trong theme (nếu có)
Quy ước tên theme:
Tên theme chuẩn được quy ước như sau:
-
Tên theme chính là tên thư mục, vì vậy nó được quy ước theo cách đặt
tên thư mục trong hệ thống Unix. ngoài ra nó cũng cần đảm bảo quy cách
tên theo quy định của hệ thống NukeViet. Để đơn giản, ta quy ước:
+ tên theme bắt đầu bằng một chữ cái (hoa hoặc thường)trong bảng chữ cái latin hoặc 1 số trong bảng chữ số thập phân.
+ Từ ký tự thứ 2 trở đi có thể bao gồm các ký tự: a-z, A-Z, 0-9 và ký tự "_"
- Các ký tự chữ hoa và thường được các máy chủ Unix phân biệt khác nhau trong khi Windows coi nó như nhau.
Để
tránh những rắc rối, nên đặt tên theme bằng những chữ cái viết thường.
Tuyệt đối không sử dụng dấu cách tróng và các ký tự đặc biệt.
Thay đổi cấu trúc theme của hệ thống NukeViet được không?
Trong
quy trình nạp theme, NukeViet sẽ gọi 2 file là theme.php và style.css
đầu tiên, do đó trên nguyên tắc chỉ cần 2 file này đảm bảo tuân thủ cấu
trúc theme của NukeViet là hệ thống sẽ chạy được.
Ngoài các file
và cấu trúc theme như trình bày ở trên, theme có thể chứa các files và
thư mục khác được gọi ra thông qua theme.php tùy cách trình bày của
người viết (sẽ giới thiệu với các bạn trong quá trình viết theme). Tuy
nhiên, dù thế nào bạn cũng nên gom tất cả các file vào trong thư mục
chứa theme để dễ quản lý.
Kỹ năng tối thiểu cần có của người viết theme để có thể tiếp thu bài viết này:
- Hiểu biết căn bản về Web & ngôn ngữ HTML, biết một chút về CSS
- Biết một chút về PHP: Cấu trúc thẻ, cách chuyển từ HTML sang PHP.
- Biết sử dụng các kỹ năng tin học văn phòng căn bản: Word,...
1. Môi trường máy chủ Yêu cầu bắt buộc Hệ điều hành: Unix (Linux, Ubuntu, Fedora …) hoặc Windows PHP: PHP 5.4 hoặc phiên bản mới nhất. MySQL: MySQL 5.5 hoặc phiên bản mới nhất Tùy chọn bổ sung Máy chủ Apache cần hỗ trợ mod mod_rewrite. Máy chủ Nginx cấu hình các thông...
Ngày càng nhiều sinh viên, nhà nghiên cứu và chuyên gia an toàn thông tin lựa chọn đồng hành cùng NukeViet trong việc phát hiện, báo cáo và khắc phục các lỗ hổng bảo mật. Những đóng góp đó không chỉ giúp hoàn thiện một dự án mã nguồn mở Việt Nam mà còn góp phần bảo vệ hàng nghìn website của cơ quan, tổ chức và doanh nghiệp đang vận hành trên nền tảng này.
NukeViet 4.6.00 là phiên bản tiếp theo của NukeViet CMS dựa trên kế thừa các chức năng của dòng 4.5 và yêu cầu máy chủ hỗ trợ php 7.4 trở lên. Đây cũng là bản cập nhật bảo mật rất quan trọng được khuyến nghị cho toàn bộ người dùng.
Dòng NukeViet 4.5.x đã bước vào giai đoạn duy trì cuối vòng đời. Trang này ghi nhận liên tục các vấn đề bảo mật và cách chúng tôi xử lý để giữ an toàn cho những website còn ở lại trên dòng 4.5.x đến tháng 7 năm 2027. Chúng tôi vẫn nỗ lực bảo vệ bạn ở mức tốt nhất có thể trên nền tảng này — nhưng nếu có điều kiện, hãy lên kế hoạch chuyển sang phiên bản mới hơn để được bảo vệ tận gốc.
Nguyễn Quang Bằng, sinh viên năm 4 ngành Khoa học Máy tính tại Đại học Bách Khoa Hà Nội, vừa được nền tảng CMS mã nguồn mở NukeViet vinh danh sau khi phát hiện và báo cáo một lỗ hổng bảo mật nghiêm trọng.
Phản hồi chính thức của đội code về các lỗ hổng bảo mật mới của NukeViet CMS được công bố trong năm 2024-2025 và hướng dẫn bảo vệ an toàn cho website của bạn trước các nguy cơ khai thác hoặc tấn công khác.
NukeViet 4.5.07 là Phiên bản tiếp theo của dòng NukeViet 4.5, trọng tâm là xử lý các vấn đề xoay quanh trình soạn thảo CKEditor 5 và tính năng block tùy chỉnh trong giao diện