6. Data primer
Chúng ta thường nhầm lẫn giữa hai thuật ngữ “dữ liệu” (data) và “thông tin”
(information). Nhưng thực tế, chúng là hai khái niệm khác nhau.
“Dữ liệu” chỉ là một phần của thông tin.
Để biểu lưu trữ và sử dụng dữ liệu một cách hiệu quả, người ta sử dụng các cách thức
lưu trữ gọi là Cơ Sở Dữ Liệu (database).
Mô hình được sử dụng nhiều nhất là mô hình CSDL quan hệ (relational database)
Phần mềm dùng để quản lý dữ liệu gọi là Hệ Quản Trị CSDL (database management
system)
Các DMS thường gặp: Mysql, Oracle, PostgreSQL, SQL Server, DB2, Infomix
Drupal hỗ trợ nhiều DMS, thậm chí hỗ trợ cả NoSQL (MongoDB)
7. Drupal data
Các thao tác trên dữ liệu
• Lọc – filtering (lấy trực tiếp và lọc theo điều kiện)
• Sắp xếp – sorting
..và cách mà dữ liệu hiển thị
• Dạng bảng – tables
• Dạng ô lưới – grids
• Dạng danh sách - lists
8. Data views
Để thao tác với dữ liệu, người ta dùng ngôn ngữ SQL, tuy nhiên nó khó
sử dụng và phức tạp.
Để giải quyết điều đó, module Views ra đời.
“view” chỉ là một khái niệm của Drupal, thực chất nó có nghĩa là “quản
lý dữ liệu”
Module views cung cấp khả năng lọc, sắp xếp và trình bày dữ liệu sử
dụng giao diện đồ họa mà không cần phải viết các câu lệnh SQL phức
tạp.
9. Data views
Module Views là một trong những module phổ biến nhất, được tích hợp
chặt chẽ và có sự hỗ trợ tốt với Drupal
Views cung cấp một những truy vấn thông minh cho phép lọc nội dung từ
content type, user, taxonomy và cả theo từng field.
Nhiều module con được tạo ra để mở rộng và cung cấp thêm nhiều tính
năng mạnh mẽ cho Views như các module filed type (node reference…),
module cung cấp kiểu format (views slideshow, jcarousel…)
11. Views control panel
Đi tới Administration » Structure » Views
Trên tab list liệt kê tất cả các view
Các tùy chọn:
Add new view: them một view mới
Đối với một view đã lưu, có các tùy chọn:
• Edit: chỉnh sửa view
• Disable: tắt, không sử dụng view
• Delete: xóa view
• Clone: tạo một bản sao của view
• Export: xuất view
12. Add new view
Tạo một view mới
Machine-radable name: tên dùng trong code
Discription: mô tả chi tiết về view
Create a page & create a block: Một display view có thể
xuất ra dạng page hoặc block. Đối với page cần thêm
đường dẫn (path) cho nó.
Display format:: dạng hiển thị cho dữ liệu xuất ra, gồm:
• Grid
• Unformatted list
• jump menu
• Table
• html list
Ngoài ra có thể mở rộng bằng các module tích hợp khác.
Tùy thuộc vào loại dữ liệu ta chọn ở mục show là content
hay filed… mà build mode sẽ có các tùy chọn là teaser,
full posts.. Hoặc field. Về build mode sẽ nói kỹ trong phần
sau.
Xong nhấp continue & edit
13. View UI
1. Các display
2. Tên display
3. Các thao tác chọn lọc, sắp xếp
và dạng hiển thị dữ liệu
4. Thiết lập cho display
5. Tùy chọn nâng cao
14. View Displays
Một View có thể có nhiều Display
Mỗi display mặc định sẽ kế thừa thuộc
tính của display Master
Mỗi view có tên riêng, tên này hiển thị
trên thanh tab trên cùng.
Mỗi display có nhiều dạng kết xuât là
Page
Block
Feed
Attachment
Ngoài ra có thể có thêm các dạng khác do
các module tích hợp với view cung cấp
16. FORMAT
Field là đơn vị dữ liệu nhỏ nhất mà view
có thể “lấy” được.
Ngoài ra view có thể lấy được các thực
thể phức hợp khác như content,
taxonomy term, users, comments…hoặc
các dữ liệu cho module khác cung cấp.
Tùy mục đích mà ta chọn dữ liệu phù
hợp.
Để lấy ra từng field trong nhóm
FORMAT chọn show fields sau đó add
thêm từng field trong nhóm FIELDS.
Dữ liệu sau khi được lấy ra, có thể được
hiển thị theo định dạng mong muốn. Để
chọn định dang xuất ra, trong nhóm
FORMAT chọn format nhấp vào liên kết
đầu tiên (ở đây là HTML list)
17. Format
Có các dạng hiển thị mặc định như sau
Grid: ô lưới
HTML list: danh sách
Jump menu: menu dạng select list
Table: dạng bảng
Unformatted list: không định dạng
Ngoài ra, có thể bổ sung thêm các kiểu
định dạng khác bằng module tích hợp
với view như views slide show,
jcarousel…
19. FILTER CRITERIA
Chúng ta thường yêu cầu lọc dữ liệu theo một yêu cầu nào đó. Ví dụ, chỉ lấy ra những
bài viết đã được xuất bản và thuộc loại content type = news, lấy ra các bài viết thuộc
chủ đề biển đảo, hay lấy ra một node có id cho trước.
Views cung cấp một bộ lọc (tương ứng với câu lệnh where trong bộ ba select from
where trong SQL) để lấy ra dữ liệu theo điều kiện cho trước.
Trong nhóm FILTER CRITERIA chọn add để thêm điều kiện lọc mới.
Tương ứng với mỗi điều kiện lọc sẽ có các tùy chọn khác nhau, các toán tử thường gặp
là:
Is one of: tồn tại
Is all of: bằng
Is none of: không tồn tại
Is empty (NULL): rỗng
Is not empty (NOT NULL): không rỗng
20. Filter example
Ví dụ: lọc ra tất cả các bài viết có term là clo
1. Trong nhóm FILTER CRITERIA chọn add,
sau đó chọn content: has taxonomy term
21. Filter example
Ví dụ: lọc ra tất cả các bài viết có term là clo
2. chọn toán tử is one of
Chọn clo trong danh sách term bên phải
Tùy chọn: reduce duplicates dùng để loại bỏ
những kết quả trùng nhau.
Xong nhấp Apply
Click Save và xem kết quả.
23. SORT CRITERIA
Thường gặp các yêu cầu lọc dữ liệu như: lấy ra 10 bài viết mới nhất. Lấy ra các bài
viết mới được cập nhật…
Trong nhóm SORT CRITERIA chọn add sau đó chọn trường để sắp xếp.
Tương ứng với mỗi điều kiện lọc sẽ có các tùy chọn khác nhau, các tùy chọn thường
gặp là:
Ascending: tăng dần
Descending: giảm dần
24. Sorting example
Ví dụ: lọc ra 10 bài viết xem nhiều nhất
1. Trong nhóm SORT CRITERIA, add thêm
trường content statistics: most recent
view (cần bật module statistics)
25. Example
Ví dụ: lọc ra 10 bài viết xem nhiều nhất
2. chọn Sort Descending
Administrative title là tiêu đề cho điều kiện
hiện tại thay thế cho tiêu đề mặc định, sử
dụng trong trường hợp bạn có nhiều mục
trùng lặp hoặc muốn tiêu đề mang tính chất
gợi ý hơn.
27. Exercises
1. Tạo view lọc ra 10 bài viết mới nhất
2. Tạo view lọc ra 10 tin tức mới nhất
3. Tạo view lọc ra tất cả bài viết thuộc chuyên mục kinh tế