Giới thiệu module: Views

Events happening in the community are now at Drupal community events on www.drupal.org.
thehong's picture

Bạn sử dụng Drupal để xây dựng website và biết rằng Drupal đã hỗ trợ trình bày nội dung theo nhiều cách khác nhau:

    - Trang chính: ?q=node
    • Trình bày các node được thiết lập thuộc tính "Promoted to front page".
  • Liệt kê các node theo từ liệu (đã kích hoạt module taxonomy): thí dụ chúng ta tạo *vocabulary* *tin tức* cho kiểu nội dung *page*, tạo dưới *vocabulary* này các *term*: *Tin kinh tế* (có ID là 1), *Tinh thể thao* (có ID là 2), *Tin khoa học* (có ID là 3). Khi đó chúng ta có thể trình bày các node theo term:
    • Liệt kê các node thuộc *Tin thể thao*: ?q=taxonomy/term/2
    • Liệt kê các node thuộc *Tin kinh tế* hoặc *Tin khoa học*: ?q=taxonomy/term/1+3
    • Liệt kê các node thuộc *Tin kinh tế* và *Tin thể thao*: ?q=taxonomy/term/1*2
    • Có thể tận dụng chức năng liệt kê này trong các trường hợp:
      • Liệt kê có node có kiểu nội dung là khách hàng, là phái nữ (termID: 1), quốc tịch Việt Nam (termID: 2), ...: ?q=taxonomy/term/1*2
      • ...
  • Liệt kê node theo tác giả (đã kích hoạt module tracker)
    • Liệt kê tất cả các node thuộc về người dùng có mã số 5: ?q=user/5/track
  • Liệt kê các node theo ngày cập nhật (đã kích hoạt module tracker): ?q=tracker

Những chức năng đã có trong nhân Drupal là mạnh, nhưng chưa thật uyển chuyển, chưa đủ đáp ứng nhu cầu của webmasters. Do đó, Views ra đời. Views là một module rất mạnh mẽ của Drupal, chức năng của nó là liệt kê các node theo nhiều cách, theo nhiều tùy chọn khác nhau. Với Views, bạn có thể liệt kê các node theo những cách mà nhân Drupal bó tay:

  • Liệt kê các node có kiểu nội dung là 'Story', đã được tạo bởi người dùng có mã số '9', trong năm 2005 đến 2006
  • Liệt kê các node có lượt đọc dưới 50 và có ít nhất 1 phản hồi, sắp xếp theo: ngày được tạo hoặc theo tiêu đề, ...
  • Liệt kê các node có/không có từ khóa "abc" trong tiêu đề
  • Liệt kê 20 node nổi bật trong ngày (trong 20 node được đọc nhiều nhất trong ngày)
  • ...

(Đang cập nhật: * View và các khái niệm * Từng bước tạo một view, * Các module liên quan)

Liên kết:
- Trang chính: http://drupal.org/project/views

Comments

Liệu cái này có hỗ

dom.killer's picture

Liệu cái này có hỗ trợ views khác nhau cho từng module không? Tôi thích module forum có giao diện khác với trang chủ, không có sidebar bên trái mà cho nó qua bên phải.

Gợi ý của bạn: "Tôi

thehong's picture

Gợi ý của bạn: "Tôi thích module forum có giao diện khác với trang chủ, không có sidebar bên trái mà cho nó qua bên phải.", có vẻ như không thuộc lĩnh vực của views. Có thể tham khảo hàm này để biết cách sử dụng một theme cụ thể cho một số trang xác định.

Đụng dzô Views đúng là mê mẩn luôn :-D Views 1 vừa mới rành rành, mấy ổng lên kế hoạch cho Views 2.

Thế Hồng

Tôi chưa hiểu lắm hàm

dom.killer's picture

Tôi chưa hiểu lắm hàm block_admin_display, bạn có thể cho 1 ví dụ cụ thể? Rất cảm ơn.

Tôi mới làm quen với Drupal nên chưa hiểu lắm về node, taxonomy, block.

Trong hàm đó, ở một

thehong's picture

Trong hàm đó, ở một số dòng dầu, gán giá trị thích hợp cho biến $custom_theme:

<?php
function block_admin_display($theme = NULL) {
  global
$theme_key, $custom_theme;

 
// Add CSS
 
drupal_add_css(drupal_get_path('module', 'block') .'/block.css', 'module', 'all', FALSE);

 
// If non-default theme configuration has been selected, set the custom theme.
 
if ($theme) {
   
$custom_theme = $theme;
  }
  else {
   
$custom_theme = variable_get('theme_default', 'garland');
  }
...
?>

Sau đó thì gọi hàm init_theme (), để áp dụng theme tuỳ biến ra giao diện người dùng. Trong module của bạn, có thể áp dụng cách tiếp cận này.

Thế Hồng

Em thấy người thuê lập trình

luatviettin's picture

Em thấy người thuê lập trình drupal hay bắt bọn em phải biết làm View, hình như đây là điều kiện bắt buộc !

Em đang học Drupal và cần các

topiclawhn's picture

Em đang học Drupal và cần các bài viết này ! Hiện tại em vẫn thiết kế dạng Block cho trang web, chạy cũng tạm !

Mời truy cập Vietdex.com là mạng hỏi đáp trực tuyến, Vietdex.net là mạng xã hội viết blog !