Trong hai phần trước, chúng ta đã tìm hiểu Document Types, Properties, Data Types, Compositions và cách tổ chức nội dung trong Umbraco CMS. Ở phần này, chúng ta sẽ tiếp tục xây dựng website nhà sách chuyên về lịch sử và triết học. Mục tiêu là tạo ra một cấu trúc nội dung rõ ràng, giúp người biên tập dễ quản lý hàng trăm cuốn sách mà không làm Content Tree trở nên khó sử dụng. Ba chủ đề chính gồm: Allowed Child Node Types: Quy định loại nội dung nào được phép tạo bên dưới một node. List View: Hiển thị các node con dưới dạng danh sách để dễ quản lý. User Groups và Permissions: Kiểm soát người dùng được truy cập và thao tác những gì trong Backoffice. 1. Bài toán thực tế: Xây dựng Content Tree cho nhà sách Giả sử website có các danh mục sách như Lịch sử và Triết học. Mỗi danh mục có thể chứa nhiều danh mục con hoặc nhiều cuốn sách. Ví dụ, cấu trúc nội dung mong muốn là: flowchart TD A["Bookstore Bookstore Home"] A --> B["Lịch sử ...
Khi bắt đầu làm việc với Umbraco, một trong những câu hỏi đầu tiên là: tại sao phải tạo Document Type trước khi tạo nội dung? Content Type khác gì Document Type? Media Type có liên quan gì đến ảnh bìa sách? Và nếu tạo thêm một node trong Backoffice thì giao diện website có tự thay đổi không? Trong bài viết này, chúng ta sẽ tìm hiểu các khái niệm đó bằng cách xây dựng một ví dụ nhỏ: website bán sách chuyên về lịch sử và triết học. Thay vì học lý thuyết một cách riêng lẻ, chúng ta sẽ thực hành trực tiếp trên Umbraco 13, tạo Document Type, xây dựng Content Tree, thêm sách, upload ảnh bìa và quan sát sự thay đổi ở frontend. Bài viết sử dụng các khái niệm trong Umbraco 13 và có hai hướng triển khai: Traditional Umbraco: Umbraco sử dụng Razor Template để render HTML. Headless Umbraco: Umbraco quản lý nội dung, API cung cấp dữ liệu và Next.js render giao diện. Hai hướng này có nhiều khái niệm CMS giống nhau, nhưng cách hiển thị frontend khác nhau. 1. Content Tree là gì? Con...