1. Diễn đàn là nơi Chia sẻ những kinh nghiệm hay về việc học ngoại ngữ, chọn trường/ trung tâm ngoại ngữ chất lượng . Các chủ đề xoay quay việc học ngoài ngữ . Các nội dung khác khi post bài đề nghị post đúng mục và chủ đề .. tránh tình trạng spam ...

Hướng dẫn sử dụng module Views trong Drupal

Thảo luận trong 'Module' bắt đầu bởi giabaongoc, Thg 4 21, 2015.

  1. giabaongoc

    giabaongoc Member

    Sử dụng thuần thục hệ thống Drupal, với các khái niệm node, node type, taxonomy, user, roles, roles's permission, chúng ta đã có thể áp dụng được Drupal vào các nhu cầu thực tế. Tuy nhiên, xét về khả năng trình bày nội dung, bản thân Drupal chưa đưa ra được các khả năng cần thiết. Thí dụ, chúng ta sẽ thực hiện những thao tác nào để tìm ra:
    Người dùng tích cực nhất từ thời điểm t đến thời điểm t + t'? Vocabulary nào có nhiều nội dung nhất, và những term được người dùng đọc nhiều nhất. Top 10 người dùng mới nhất của site. Những node có kiểu nội dung C, thuộc vocab V, có term T của người dùng thuộc role R. Top 10 chủ đề mới nhất/nóng nhất từ diễn đàn D... Top 10 node có liên kết trở về node N....
    Không chỉ đáp ứng được những tính năng kể trên, views 2 sẽ còn mạnh mẽ hơn rất nhiều. Sử dụng views 2 không khó, nhưng bạn cần phải thông một số khái niệm.
    [​IMG]
    1. View
    Module views 2 định nghĩa nhiều view. Mỗi view sẽ có những cấu hình khác nhau, tuỳ thuộc vào người quản trị, để trình những kết quả khác nhau phù hợp với nhu cầu của thực tế. ​
    2. Type

    views có thể lấy nội dung từ nhiều kiểu nội dung khác nhau. Để định nghĩa một view, trước tiên, chúng ta cần xác định, kiểu nội dung chúng ta cần lấy về là gì. Mặc định, views 2 có cung cấp các kiểu nội dung sau: node, vocabulary, term, user, roles, files, comment. Trường hợp hệ thống của chúng ta có sử dụng các module khác để mở rộng views 2, có thể danh sách các kiểu nội dung sẽ nhiều hơn.​
    3. Display

    Views cần biết được thuộc tính Display của mỗi view để xác định vị trí mà kết quả của view tương ứng được hiển thị. Mỗi view có thể có nhiều display, mỗi display lại có thể có những thiết lập riêng để tuỳ chỉnh kết quả trình bày. Nói về Display, mặc định, Views cung cấp một số Display type được liệt kê như sau. Nếu hệ thống của chúng ta có sử dụng các module khác để mở rộng views 2, lúc đó, có thể hệ thống sẽ có nhiều dislay type hơn, thí dụ JSON.​
    3.1 Default display

    Default display, là display chính của mỗi view, được dùng để lưu trữ các thiết lập của view. Default display không thật sự được sử dụng ở bất kỳ nơi nào, ngoại trừ bên trong hệ thống Views 2.​
    3.2 Page display

    Mỗi page display có thiết lập path và các tùy chọn thiết lập về menu. Khi trình bày một view ở dạng page display, kết quả của view sẽ được trình bày như nội dung chính của một trang, nghĩa là, kết quả của view sẽ được trình bày ở khu vực trình bày nội dung chính khi bạn truy cập vào URL ứng với path đã thiết lập cho page display.
    Page display, nếu có các thiết lập về argument, sẽ nạp vào nó các argument từ URL. Chúng ta có thể nhúng các argument vào URL bằng cách sử dụng ký hiệu %. Thí dụ. thiết lập URL của chúng ta là 'node/%/foo', ứng với trường hợp display/view tương ứng có các thiết lập về argument, khi đó, page display sẽ được sử dụng, khi người dùng truy cập vào URL 'node/1/foo', và tham số đầu tiên sẽ là '1'.​
    3.3 Block display

    Nếu một view có định nghĩa một/nhiều block display, nó đồng thời cũng sẽ định nghĩa các block trong hệ thống Drupal với nội dung tương ứng với các thiết lập của block display.
    Chú ý: block display không chấp nhận argument như các dạng view display khác. Trong trường hợp, chúng ta cần sử dụng argument cho các block display, để mở rộng khả năng trình bày, chúng ta buộc phải truyền argument vào ở dạng argument mặc định; Cách thực hiện: cấu hình view tương ứng > chọn display tương ứng > xem mục Arguments > nhấp chọn argument tương ứng > xem mục "Action to take if argument is not present" vừa hiện ra > chọn "Provide default argument" > xem mục "Default argument type" vừa hiện ra.​
    3.4 Attachment display

    Attachment display là các display có thể được đính kèm vào các display khác ở cùng view. Khi một display được gọi, thì đồng thời các attachment display được kèm theo với display đó cũng được gọi, và kết quả của các attachment display có thể được định vị ở trước hoặc sau hoặc cả trước và sau kết quả của display chính của view. Có thể sử dụng attachment display để trình bày bảng danh mục (glossary) cho các view. Xem view "glossary" được cung cấp mặc định bởi view như một thí dụ cho việc sử dụng Attachment display.​
    3.5 Feed display

    Feed display cho phép chúng ta đính kèm RSS feed vào một view. ​
    4. Override

    Như đã biết ở mục 3, mỗi view có thể có một default display và có thể định nghĩa thêm một hoặc nhiều các display khác, với các dislay type tùy thích mà view cung cấp. Theo mặc định, các display, khác default display, sẽ sử dụng các thiết lập của default display cho việc tạo kết quả trình bày của chúng. Do đó, nếu chúng ta chỉnh sửa các thiết lập của một display, thì các display khác ở cùng một view cũng sẽ bị ảnh hưởng. Giải quyết trở ngại này, views 2 có đưa ra khả năng "override", giúp cho các display, ngoài việc sử dụng các thiết lập từ default display, có thể có những thiết lập riêng cho nó, các thiết lập này, nếu được chỉnh sửa, thì không ảnh hưởng đến các display khác ở cùng view.​
     
  2. giabaongoc

    giabaongoc Member

    5. Output style (view style)
    View phát sinh ra kết quả, hệ thống style giúp chúng ta có thể tuỳ chỉnh cách trình bày kết quả được phát sinh đó. Về cơ bản, mỗi output style là một khuôn mẫu giao diện thông minh, xử lý kết quả quả của view và xuất kết quả đó ra. Tất cả các style trong Views 2 đều có thể được quá tải bằng cách đặt bản các bản sao chép của style tương ứng vào thư mục giao diện mà hệ thống đang sử dụng, sau đó, chỉnh sửa chúng. Mỗi display của view có cung cấp một mục "theme: information", nhấp chọn vào mục đó, views 2 sẽ đề xuất cho chúng ta các khuôn mẫu giao diện có thể được sử dụng đê quá tải lên các thành phần kết quả của view.
    Các output style được views 2 cung cấp sẵn:
    5.1 Grid:
    Trình bày kết quả ở dạng ô
    5.2 List:
    Trình bày kết quả ở dạng danh sách
    5.3 Table:
    Trình kết quả ở dạng bảng
    5.4 Unformatted:
    Trình bày kết quả ở đơn giản, mỗi dòng kết quả chỉ được bao quanh bởi cặp thẻ
    với một số DOM class, dựa vào các class đơn giản này, quản trị viên có thể sử dụng CSS để định dạng lại kết quả trình bày.
    Trường hợp các output style được cung cấp sẵn này không đáp ứng đủ nhu cầu thực tế, chúng ta có thể xây dựng module mở rộng views 2 để định nghĩa thêm các output style khác.
    6. Field (trường dữ liệu)
    Đối với một số output style, thí dụ table, chúng ta cần xác định cụ thể trường dữ liệu nào được trình bày trong kết quả trình bày. Tùy thuộc và trường dữ liệu được xác định, chúng ta có thể có những thiết lập riêng cho chúng.
    7. Sort criteria
    Các dòng kết quả được phát sinh bởi view có thể được sắp xếp thứ tự theo một hoặc nhiều tiêu chí. Tuỳ thuộc vào view type (và các relationship), mỗi view sẽ có những tùy chọn sắp xếp thứ tự kết quả trình khác nhau.
    8. Filter
    Filter, hay bộ lọc nội dung, là một tính năng chủ chốt của views 2, giúp người điều hành có thể lọc nội dung theo những tiêu chí nhất định. Không như các tính năng liệt kê node của nhân Drupal, /node/, chỉ liệt kê được các node được thiết lập thuộc tính "promoted to frontpage" (được quảng bá ở trang chủ) là true, /taxonomy/term/x/, chỉ liệt kê được các node có gán từ liệu là x, ... views với tính năng filter, cung cấp khả năng trình bày nội dung của hệ thống rất sinh động. Với views 2, bây giờ, chúng ta có thể trình bày các node được tạo bởi một người dùng nhất định, ở (các) term nhất định, vào thời khoảng nhất định, ...
    9. Argument
    Tính năng filter của Views 2 mạnh, tuy nhiên nó cũng có mổt trở ngại nhỏ: filter không động theo từng view. Thí dụ, chúng ta định nghĩa một view V1 để trình bày các node có node type là NT1, có thể truy cập view này qua URL /content/foo. Sau một thời gian, theo nhu cầu phát triển của hệ thống, chúng ta lại cần xây dựng một view V2 rất giống với V1, chỉ khác ở filter node type, thay vì node type là NT1 thì là NT2. Rõ ràng, lúc này, chúng ta phải lặp lại nhiều thao tác đã thực hiện ở V1 vào lại V2. Giả sử, chúng ta có N view như vậy, khi chỉnh sửa các view này theo nhu cầu thực tế, công sức của chúng ta sẽ xN.
    Argument được đặt ra như là một mở rộng của filter. Thay vì là tĩnh ở mỗi view, argument cung cấp khả năng lọc nôi dung trong view bằng các giá trị có thể thay đổi động. Trở lại với thí dụ trên, thay vì định nghĩa một filter clause cho view, chúng ta sẽ định nghĩa một argument: "node type", và ở URL, chúng ta sẽ thay /content/foo thành /content/foo/%. Lúc này, khi người dùng truy cập URL /content/foo/NT1, view sẽ lọc nội dung và chỉ trả về những node có node type là NT1, ...
    10. Relationships
    Là một tính năng mới thêm vào Views 2, cung cấp cho view khả năng truy vấn kết quả khác từ các kết quả đã tìm được. Một thí dụ thực tế tương đối dễ hiểu: (1) Hệ thống chúng ta vừa tạo ra một node type là "track". (2) Chúng ta tạo thêm hai node type khác là "album" và "artist". (3) Tạo node reference từ "track" đến "album", từ "album" đến "artist" (Sử dụng module node reference của CCK) (4) Tạo một vào node ứng với các node type vừa tạo ở trên (5.1) Tạo một view; (5.2) Thiết lập output syle thành "table"; (5.3) Ở mục "relationships", thêm vào 2 node reference đã tạo ở bước 3; (5.4) Ở mục "fields", thêm 3 lần field "Node: Title" và "Node: Body", ở node thứ nhì, chọn relatioship đến 'albumn', và ở node thử ba, chọn relationship đến 'artist' (6) Xem thử kết quả.
    11. Các thuộc tính khác11.1 Tags
    Có thể gán cho mỗi view những tag khác nhau để dễ dàng hơn cho việc quản lý.
    11.2 View name
    Là tên của view được xác định lúc view mới được khởi tạo. Không giống như các display name (tên của display), view name không thể chỉnh sửa.
    11.3 Use AJAX
    Nếu view/output tương ứng có thiết lập sử dụng pager và thuộc tính Use AJAX được thiết lập là Yes, khi người dùng click vào các liên kết ở mục phân trang, thay vì trình duyệt sẽ di chuyển sang trang, thì nội dung mới sẽ được nạp theo dạng AJAX.
    11.4 Use pager
    Thiết lập view có sử dụng bộ phân trang hay không.
    11.5 Items to display
    Số dòng kết quả trình bày ở mỗi lần trình bày của view/output sẽ không vượt quá giá trị thiết lập ở mục này. Nên thiết lập để view/output sử dụng bộ phân trang để người dùng có thể xem được nhiều kết quả hơn.
    11.6 More link
    Thêm liên kết, vào phía dưới kết quả của view, dẫn đến page view. Trường hợp view của chúng ta cung cấp hơn một page display, mục này cần chỉ định rõ page display nào cần được trỏ đến.
    11.7 Distinct
    Buộc view chỉ trình bày những kết quả thật sự khác nhau. Thuộc tính này có thể làm chậm đi quá trình phát sinh kết quả của view.
    11.8 Access
    Giới hạn các vai trò người dùng (role) được truy cập view/output.
    11.9 Header
    Bản văn được trình bày ở phía trên của view/output.
    11.10 Footer
    Bản văn được trình bày ở phía dưới của view/output.
    11.11 Empty text
    Bản văn được trình bày khi view/output không trả về kết quả nào.
    11.12 Theme information
    Trình bày các thông tin về giao diện giúp người xây dựng giao diện của hệ thống có thể dễ dàng xây dựng các khuôn mẫu giao diện quá tải.
    st: Bảo Trung.
     
  3. tieudinhdinh92

    tieudinhdinh92 New Member

    Hay quá. Đúng nội dung mình đang cần
     
  4. xenxenvn2016

    xenxenvn2016 New Member

    Cảm ơn thớt bài chia sẻ thú vị, tuy nhiên có chỗ hơi dài dòng chưa đánh đúng trọng tâm. Ngắn hơn xíu chắc do lười đọc :v
     
  5. GIỚI THIỆU ĐỒ THỜ CÚNG.COM.VN
    NỘI THẤT THỜ CÚNG CAO CẤP ĐẠI PHÚC
    1.
    Giới thiệu

    Đầu năm 2013
    ,Công ty TNHH NỘI THẤT THỜ CÚNG Ðại Phúc chính thức ðược thành lập, ðánh dấu một bước phát triển vượt bậc cả về cõ sở vật chất lẫn uy tín và quy mô trên thị trường.
    Chúng tôi có ðội ngũ nhân viên kinh doanh, bán hàng, thiết kế chuyên nghiệp,làm việc hiệu quả, công nhân có tay nghề cao, nhiều kinh nghiệm và ð
    ược tuyển chọn kỹ lưỡng
    2. Thị tr
    ường kinh doanh


    Hiện nay công ty chúng tôi có đại lý phân phối ðộc quyền tại Nguyễn Chí Thanh, và nhiều ðại lý khác tại Thành Phố Hồ Chí Minh. Một số khu vực lân cận
    3.Mặt hàng kinh Doanh

    Chúng tôi chuyên về các loại ðồ thờ cúng(
    do tho cung)như:

      • [*]Tượng Phật Sứ

        [*]Bộ Đồ Thờ Sứ
        [*]Bàn Thờ Thần Tài Ông Ðịa (ban tho ong dia)
        [*]Bàn thờ thần tài giá rẻ ( ban tho than tai)
        [*]Bàn Thờ Phật
        [*]Bàn Thờ Gia Tiên
        [*]Bàn Thờ Treo Tường
        [*]Ðèn Sen Thờ Phụng
        [*]Đồ Đồng Thờ Phụng

        [*]Tủ thờ 2 tầng

        [*]Tranh Tượng Gỗ
        [*]Vật Phẩm Phong Thuỷ
        [*]Vật Phẩm Thờ Cúng
        [*]Tủ Thờ hiện đại

        [*]Phòng Thờ Mẫu
        [*]Bàn Thờ Mẫu
        [*]Các tuợng phật (tuong phat di lac, tuong quan am)













    Địa chỉ: 649
    Lê Trọng Tấn, Phường Bình Hưng Hòa, Quận Bình Tân, TP. HCM
    điện thoại:08.3877.3197 -Hotline:0938. 968. 983
    Email:
    mynghedaiphuc@gmail.com
    Website:

    http://dothocung.com.vn
     
  6. khanh2511

    khanh2511 New Member

    trường cao đẳng y dược Tỉnh Hưng Yên
     
  7. xedayhang-maxbuy123

    xedayhang-maxbuy123 New Member

    Up lên cho bác nhé
     
  8. trungteo777

    trungteo777 New Member

    Chào mọi người.
    Bên mình chuyên cung cấp, tư vấn và khai triển phần mềm quản lý bán hàng cho các cửa hàng, shop thời trang, siêu thị mini.
    Phần mềm mình viết bằng Codeigniter.
    Link demo: full . phongtran . info

    user: admin - pass: 12345678

    video hướng dẫn:

    Bên mình bán full bộ source code luôn nha. Ai có chút hiểu biết về code có thể tùy biến lại nha.
    Giá full source code là 500k nha.

    Bạn nào cần thì can dự mình nha:

    01257.388.742 add zalo để mình tư vấn nha.

    Mình ở sài gòn quận tân phú, bạn nào gần nhà có thể đến trực tiếp mình sẽ hướng dẫn đầy đủ cho các bạn xài. Cám ơn mọi người đã đọc tin. Gửi lời xin lỗi đến những bạn không có nhu cầu vì đã làm phiền.
     
  9. binduatin3

    binduatin3 New Member

    Bài viết rất hay và bổ ích cảm ơn vì đã chia sẽ bài viết này
     
  10. Bài viết rất hữu ích
     

Chia sẻ trang này