Hướng dẫn tạo và sửa danh mục nội dung trong CMS
Tổ chức cây danh mục, chọn loại và component, thiết lập SEO, hiểu điều kiện thuế và phương thức xuất kho của nhóm sản phẩm.
Giao diện cây danh mục
Danh mục tổ chức nội dung thành cây nhóm cha/con, giúp người quản trị tìm nội dung và giúp website chọn nhóm cần trình bày. Danh mục còn gắn với trang danh sách, trang chi tiết, SEO và thuộc tính kế thừa. Ví dụ “Gọng kính” có các danh mục con theo thương hiệu; một bài hướng dẫn thuộc nhóm bài viết, không đưa vào danh mục sản phẩm chỉ vì có nhắc đến sản phẩm.
Loại danh mục và điều kiện xuất hiện
Bài viết (ART): Nhóm dùng chứa bài viết, tin tức và blog. Khi chọn, form tải danh mục cha ART và có thể gợi ý Articles/Article nếu template có các component này.
Sản phẩm (PRO): Nhóm dùng chứa sản phẩm. Lựa chọn bị ẩn khi tài khoản không có quyền quản lý sản phẩm. Có thêm các cấu hình thuế/xuất kho ở trang sửa theo điều kiện bên dưới.
Đa phương tiện (MID): Nhóm dùng chứa liên kết, hình, tài liệu, âm thanh và video. Khi chọn, form tải nhóm MID và có thể gợi ý Medias/Media nếu các component tồn tại.
Nếu mở Thêm danh mục từ một màn hình đã cố định loại, dropdown Loại danh mục có thể không hiện. Nếu đã truyền danh mục cha từ thao tác tạo con, ô chọn cha cũng có thể được ẩn. Đây là biểu mẫu đã có ngữ cảnh, không phải thiếu chức năng.
Giao diện Thêm danh mục
- Từ Danh mục, bấm Thêm hoặc thao tác tạo con tại nhóm phù hợp.
- Chọn loại nếu được yêu cầu. Chờ danh sách danh mục cha tải lại rồi chọn cha; để cấp gốc nếu muốn tạo nhóm ngoài cùng.
- Nhập Tên danh mục. Chọn Trang danh sách để trình bày tập nội dung; chọn Trang chi tiết để mở một nội dung thuộc nhóm. Hai dropdown lấy component từ template hiện tại, không phải danh sách cố định giống nhau ở mọi website.
- Bật SEO danh mục nếu cần cấu hình SEO riêng cho trang nhóm. Kiểm tra tên và trang đã chọn rồi bấm Thêm.
- Sau thành công danh sách tải lại. Mở danh mục mới để nhập mô tả, hình, thứ tự và SEO nếu cần.
Giao diện Sửa danh mục
Tên; Mô tả ngắn; Mô tả chi tiết: Tên nhóm và nội dung giới thiệu nhóm cho người đọc. Lưu biểu mẫu chính, theo ngôn ngữ đang chọn.
Hình: Ảnh đại diện cho danh mục, khác ảnh đại diện của từng nội dung. Chọn tệp rồi Lưu danh mục.
Thứ tự: Giá trị sắp xếp của nhóm. Lưu tại biểu mẫu hoặc thao tác riêng mà danh sách cung cấp.
Danh mục cha: Chuyển vị trí nhóm trong cây. Gọi API riêng ngay khi chọn; không chờ Lưu chung.
Hoạt động/Sử dụng: Cho phép danh mục được dùng trong các phần website áp dụng trạng thái xuất bản. Công tắc gửi thay đổi riêng.
SEO danh mục: Cho biết nhóm có dùng khối SEO riêng hay không. Lựa chọn thuộc model lưu chính; khi Model.SEO bật thì hiện khối SEO.
Trang danh sách / Trang chi tiết: Component xử lý trang nhóm và trang nội dung con. Ở bản sửa hiện tại, nếu tên component đang hợp lệ thì UI hiện mô tả; dropdown thay thế chỉ xuất hiện khi component không có trong danh sách.
Các nghiệp vụ ẩn ở danh mục sản phẩm
Chỉ khi loại danh mục là PRO mới xét các khối sau. Khi phương pháp GTGT của doanh nghiệp là Trực tiếp, màn hình hiện Nhóm ngành nghề/loại dịch vụ: bấm Chọn để mở bảng mô tả ngành, cột tỷ lệ GTGT và TNCN, chọn một dòng rồi Lưu danh mục. Khi là Khấu trừ, khối này không hiện. Đây là thiết lập nghiệp vụ của phần mềm; bảng tỷ lệ hiển thị là dữ liệu cấu hình trong code, không phải kết luận pháp lý về đơn vị.
Khi cấu hình Phương pháp tính giá xuất kho cấp doanh nghiệp bằng 0 (theo nhóm), nhóm PRO hiện lựa chọn phương thức xuất kho. Các lựa chọn nghiệp vụ là Bình quân gia quyền (dùng giá bình quân), Đích danh (theo lô/đối tượng xác định), FIFO - Nhập trước xuất trước (ưu tiên lô nhập trước), LIFO - Nhập sau xuất trước (ưu tiên lô nhập sau). Việc hiện dropdown trong CMS không biến màn hình này thành nơi nhập/xuất kho; các chứng từ nằm ở ứng dụng quản lý kho tương ứng.
Đổi danh mục cha và tác động phía code
API cập nhật cha có kiểm tra quan hệ con để tránh tạo vòng lặp trong cây. Nhánh này xóa ItemAttributes gắn với mã của chính danh mục rồi ghi cha mới. Không suy ra rằng nó xóa toàn bộ thuộc tính của mọi bài/sản phẩm con: câu lệnh này lọc theo mã danh mục. Tuy nhiên thay quan hệ cha có thể thay bộ thuộc tính kế thừa mà nội dung nhìn thấy trong lần tải tiếp theo.
Một bất nhất cần kiểm tra: ở form Thêm, callback dropdown cha đang truyền Model.ParentId thay vì giá trị mới của sự kiện. Vì vậy cần xác nhận cây sau khi tạo; không mặc định chỉ nhìn thấy lựa chọn trên form là đã lưu đúng cha. Nếu chưa đúng, xử lý theo trang sửa với kiểm tra kết quả, không tạo thêm nhiều nhóm trùng tên.
Xóa, ẩn và kiểm tra kết quả
Dùng tắt Hoạt động khi muốn tạm ngưng hiển thị nhóm mà vẫn giữ cấu hình. Xóa là thao tác khác, có thể bị từ chối khi còn nội dung hoặc quan hệ phụ thuộc. CMS đếm nội dung theo loại nhóm trước khi xử lý xóa. Đọc hộp xác nhận và thông báo máy chủ; không có căn cứ coi xóa danh mục là thao tác có thùng rác khôi phục. Sau đổi cha kiểm tra cả cây, đường dẫn và thuộc tính của nội dung liên quan.
- Chờ thông báo thành công của đúng khối vừa lưu; nếu có lỗi thì xử lý lỗi trước khi rời trang.
- Ghi lại phần còn đang soạn, sau đó mở lại bản ghi để đối chiếu giá trị đã lưu. Không coi ô nhập đang hiển thị là bằng chứng máy chủ đã ghi dữ liệu.
- Kiểm tra trang website tương ứng: đúng ngôn ngữ, đúng vị trí, hình ảnh và liên kết hoạt động. Nếu website vẫn dùng dữ liệu cũ, kiểm tra cơ chế cache và cấu hình hiển thị; không xóa rồi tạo lại nội dung để xử lý lỗi cache.