Thứ Tư, 17 tháng 7, 2013

Dynamic queries in Drupal



Administration
  1. Admin or Admin Menu
    Một sự lựa chọn tốt cho admins/developers để nhanh chóng di chuyển các phần khác nhau của trang website. "The Admin Menu" module có ‘inline context editor’ mà rất tiện lợi cho việc di chuyển blocks đã được thiết lập bởi Context. "The Admin Menu" module để bạn điều hướng thông qua menu options phần nào nhanh hơn "Admin module" theo kinh nghiệm của tôi. I often will enable one of these for admins and use the toolbar for other logins (like editors, tech writers, etc).
  2. Features
    Một công cụ tuyệt vời cho developers để backup Views và content types. Xem thêm thông tin chi tiết ở đây : http://www.mediacurrent.com/resources/videos/development-using-features-and-drush
Developers
  1. Backup & Migrate
    Một module tiện ích cho tất cả các developers. Điều này cho phép bạn dễ dàng dump database ngoại trừ "cache tables" và rất tốt để di chuyển đến các môi trường khác (dev-test-showcase...). It is also great for scheduled backups that run on cron runs. 
  2. Devel
    Một tool for developers để debug website.
  3. Drush + drush make
    Drush là tiêu chuẩn cho "developer command line site administration". Nếu bạn không sử dụng Drush, bạn nên có. Drush làm tốt trong việc tạo ‘builds’ và nó cũng sử dụng trong Drupal distributions.
Site building
  1. Address Field
    Tôi hiện đang sử dụng "Address Field" như một sự thay thế cho Location module mà nó chưa ổn định trong Drupal 7. "Address Field" cho phép bạn thu thập một địa chỉ từ bên trong một field "and has Views integration".
  2. CCK
    Trong khi CCK được chuyển đến Drupal 7 core, as ‘fields’  CCK module vẫn có một số tools Drupal 7 quan trọng. Module này có công cụ chuyển đổi (migration tools) mà hữu ích cho việc upgrades từ  Drupal version 6.
  3. Content Taxonomy *New
    Module này mở rộng phân loại fields in Drupal 7. Quản lý gắn thẻ(tagging), phân loại(categorization) và phân loại(classification) nội dung của bạn. Nó sẵn có trong nhân Drupal 7.
  4. Context
    "The defacto new standard for block placement". Admin/build/block page có những hạn chế thực tế và trở nên không thể đọc được với website lớn. Context có nhiều sức mạnh hơn và bạn có thể làm nhiều hơn chỉ thay đổi vị trí block. Tôi cũng có hướng sử dụng nó để thêm body classes đến ‘sections’ of website mà cho phép tôi làm sạch "separate my CSS styles by ‘section’ ".
  5. Date
    Cho phép ‘date’ fields được thêm vào nội dung với "beautiful javascript-powered popup calendars" và có Views integration.
  6. DS *New
    Tôi sử dụng "Display Suite" để thay đổi "node output" (toàn màn hình, teaser và thậm chí cả kết quả tìm kiếm). "I now use the 'node' row style for my views so that I can delegate the node output to DS which makes my views more reusable". DS Search module rất tốt cho phép developers xuất ra search results như là một node thực view module thay vì một trích đoạn tìm kiếm.
  7. Email *NewModule này cho phép bạn thêm email address as fields in Drupal 7. 
  8. Field Collection *New
    Module cho phép bạn tạo ra fields tổng hợp(composite fields) for Drupal content types. Field collections are 'entities' in Drupal 7. Đây là một module rất tiện dụng(handy module), có thể sử dụng nó như "a node reference" đến một content type khác. 
  9. Field Group *New
    Trong Drupal 7 bạn cần module này để nhóm các fields lại trong một content type. Điều này hữu ích cho editors vì nó cung cấp sự sáng sủa như là cách để nhóm các fields trên một page.
  10. File Field Sources
    Cái này trở thành một module phải có cho tôi vì module này cho phép tôi làm những việc như reference một "existing file" từ một "file field" or "fetching a file" từ một URL bên ngoài. Tôi sử dụng nó bất kì lúc nào tôi thêm một nội dung đến website.
  11. Link
    Cho phép bạn thêm ‘link’ fields đến nội dung và  "has Views integration".
  12. Media
    iĐây là một module mạnh mẽ và tôi thường sử dụng nó để thêm "3rd party video content" đến website của tôi. Nó hỗ trợ tất cả các loại Media, nhưng tôi thường sử dụng cho "Media Youtube and Media Vimeo modules".
  13. Menu Block *New
    iNó cho phép bạn để tạo mới phiên bản(instances) của một menu mà bạn đã tạo. Điều này rất hữu ích vì thỉnh thoảng bạn muốn xuất ra chỉ một phần('slice') của module hoặc xuất ra nó khác với bối cảnh mà nó được sử dụng. Tôi sử dụng modules này trên mọi site.
  14. Menu Breadcrumb
    Tôi sử dụng menu breadcrumb trên hầu hết các sites mà tôi build vì nó hỗ trợ breadcrumbs đơn giản khi bạn có một liên kết lồng nhau trong menu chính.
  15. Panels *Update
    Có thể đây là module gây tranh cãi nhất trong cộng đồng Drupal vì tôi nghĩ UI đẩy rất nhiều người đi.Tôi phải thay đổi lại vào cách sử dụng Panels của tôi trên các trang web ủng hộ bối cảnh nhưng tôi vẫn thích sử dụng Panels của các '' node template " để hiển thị các sản phẩm của một trang chi tiết node và cũng bố trí 1-off như bố trí trang chủ. Đối với một số trường hợp, Panels rất tiện dụng.

    UPDATE: Tôi có xu hướng sử dụng Panels ít đi. Bây giờ tôi sử dụng Display Suite cho "output node" và tôi cố gắng sử dụng bối cảnh cho bố cục trang trừ khi tôi có một bố trí rất tùy chỉnh. Trong trường hợp đó tôi vẫn sẽ sử dụng Panels.
  16. Path Auto
    Tự động tạo URL thân thiện. Bạn cần có nó ở mọi website.
  17. References
    iĐối với node & user reference fields, this is the Drupal 7 replacement of the Node Reference & User Reference field modules in Drupal 6.Nó rất tiện dụng cho các nội dung liên quan đến nội dung khác hoặc user accounts.
  18. References Dialog
    Thay thế node relationships trong Drupal 6. Đây là module tuyệt vời để cung cấp một dialog cho "reference content". Nếu không bạn có thể sử dụng auto-complete field or dropdown select.
  19. Rules
    Nó là một swiss-army-knife tool cho tất cả sắp xếp của tasks mà có yêu cầu tùy chỉnh code. Bạn có thể send emails, set breadcrumbs, all sorts of tasks.
  20. Styles
    Một module mới cho Drupal 7. Nó cần thiết cho styling media, for instance nếu bạn sử dụng media module, nó có thể không rõ ràng nhưng rất cần thiết để chỉnh sửa output media của bạn(trong trường hợp này tôi sử dụng nó cho Youtube video).
  21. Views
    Một module cần phải có. Đây là lí do vì sao bạn sử dụng Drupal. Views 3 là tuyệt vời hơn 2.0. Tôi thật sự thích "updated workflow".
  22. Views Bulk Operations
    Một công cụ administrative-type tiện dụng. Trên hầu hết các dự án của tôi, Tôi sử dụng nó để cung cấp cho administrator’s để thay thế cho màn hình ‘Admin content’ and ‘Admin user’ Vì bạn có thể tùy chỉnh "appearance of those screens".
  23. Views PHP *Update
    Thay thế "Views Custom Field" trong Drupal 6. Có thể không phải là cách tốt nhất để có một loạt các PHP nằm khuất trong các "Views fields" khác nhau nhưng đọc một module rất thực tế để có được một cái nhìn để làm việc một cách chính xác khi bạn không có các field chính xác mà bạn cần.

    UPDATE: Tôi cố gắng không sử dụng Views PHP nhiều vì có một số vấn đề về bảo trì. Nó là một công cụ tiện dụng nhưng nên được sử dụng một cách tiết kiệm.
  24. Views Slideshow
    Tôi sử dụng nó trên hầu hết các dự án của tôi vì nó rất phổ biên cho sites để có một vài thứ di chuyển ở một vài nơi (bao gồm cả homepage).
  25. Webform
    Một module cần phải có cho mọi website. Thường sử dụng cho contact forms và có nhiều chức năng hữu ích.
Content
  1. Colorbox *New
    Tôi thấy rằng Colorbox ít lỗi và thực hiện sạch hơn Lightbox2. Ví dụ, lightbox2 thêm quá nhiều formatters mà có thể gây khó chịu khi bạn cố gắng để cấu hình một view hoặc field để thiết lập hình ảnh.
  2. Feeds + Feeds Xpath Parser *New
    iĐây là một module tuyệt vời cho importing content. Tôi thấy rằng nhiều sites cần "import syndicated content" và đây là một tool tôt cho "importing content".Một số developers sử dụng để di chuyển nội dung.
  3. Flag *New
    Tôi sử dụng cho những việc như đánh giá nội dung (creating a 'like' button for example) or flagging offensive comments or 'saving' a piece of content to a user queue. Module này đủ trừu tượng mà nó có thể được sử dụng cho "sorts of purposes".
  4. Lightbox2
    Although this module is somewhat buggy, I still end up using it on just about every project. I haven’t found an alternative yet for using ‘lightbox’ functionality for things like image galleries, so for the time being I am still using Lightbox2.
Publishing
  1. IMCE + IMCE Wysiwyg *Update
    Nó có thể mới hơn, tốt hơn để thêm một cửa sổ hội thoại để "adding images" đến wysiwyg box. Đây là module tích hợp với Wysiwyg API module.
    UPDATE: Hợp cả 2 vào 1 sản phẩm, và cũng là bạn cần cả 2.
  2. Nodequeue  là tốt cho việc tạo ra các danh sách tùy ý của nội dung và module này có giao diện rất tốt. Tôi muốn có giao diện như Draggable Views , điều này sẽ làm cho module này hữu ích hơn.
  3. Wysiwyg  mang lại cho developers rất nhiều lựa chọn và tích hợp với "javascript wysiwyg libraries".
SEO
  1. Global Redirect
    Một module SEO hữu ích giúp cho Drupal không xuất hiện URL trùng lặp vì vậy không bị phạt bởi các công cụ tìm kiếm.
  2. Google Analytics
    Bạn phải có công cụ phân tích hữu ích này trên mọi sites.
  3. Metatag *Update
    Tôi đã sử nó cho đến bây giờ và tôi rất thích nó. Module này cho phép bạn thêm thông tin "meta tag" đến site của bạn, bao gồm node content.
    UPDATE: Tôi đã gỡ bỏ "Page Title" từ danh sách modules vì Metatag cho phép bạn thêm "page titles" đến trang.
  4. Page Title
    A very simple SEO-based module that allows you to add page titles to your content.
  5. Redirect *Update
    UPDATE: Replaces path redirect in Drupal 7. Works great in Drupal 7, I have used this several times.
  6. XML Site Map
    Một SEO module cung cấp site maps đến bộ máy tìm kiếm.
Users
  1. Captcha + Recaptcha
    Captcha’s rất tiện dụng để lọc spam trên contact forms. reCaptcha là tốt hơn captcha như là một dịch vụ miễn phí. Mollom cũng là một tùy chọn cho bạn, tôi thì thích reCaptcha hơn.
  2. Redirect 403 to User Login
    Module này rất tiện dụng cho việc truy cập trang bị từ chối! Tôi sử dụng nó trên mọi dự án. Module này chuyển hướng bạn đến trang đăng nhập khi người dùng truy cập một trang họ không có quyền truy cập vào.
Utility / API Modules
  1. Chaos Tools  là được yêu cầu cho "Views" trong Drupal 7 vì vậy nó là một module cần phải có mà  giúp sức mạnh cho một số module như Views, Panels & Features.
  2. Entity
    Entities là một khái niệm mới trong Drupal 7, module này được yêu cầu bởi rất nhiều module khác vì nó chuyển một kết quả từ API thành một thực thể (entities).
  3. File Entity
    Nó cần thiết cho các Media module, và theo hiểu biết của tôi thì module này để bạn chỉnh sửa diển thị của một "file field".
  4. Libraries
    Libraries cũng là một khái niệm mới trong Drupal 7. Nó là một "API module" cho modules và Tôi chưa biết nhiều về nó nhưng nó được yêu cầu cho một số module phổ biến trong Drupal.
  5. Strongarm
    i Rất tuyệt khi sử dụng với "Features module". Module này lưu trữ "Drupal settings" trong code thay thế cho database. Nó rất tiện dụng cho "Features" vì nó sẽ tự đông xuất(auto-export) rất nhiều thứ cho bạn khi bạn xuất "content types to features".
  6. Token
    i Đã được một khoảng thời gian và nó vẫn rất tuyệt cho "placeholders in content, urls..." Một cải thiện lớn là về hiệu suất(performance).
Notable Mentions

Tôi đã di chuyển một vài module từ danh sách chính thức đến "danh sách các modle cần chú ý" vì một số module không cần trên mọi dự án. Tôi đã giữ cho danh sách chính chỉ gần đến 50.
  1. Apache Solr *Update
    Apache Solr đã trở thành tiêu chuẩn công nghiệp cho "faceted searches". Apache Solr có thể sử dụng như là "default Drupal search". Với newbie developers, ‘Acquia search’ là một sự lựa chọn tốt hơn Apache Solr và cung cấp "solr indexing" cũng như thành thoán và dễ dàng để cài đặt.

    UPDATE: Đây là một mô-đun tuyệt vời mà tôi sử dụng trên hầu hết các dự án, nhưng tìm kiếm Solr là nhiều hơn một loại hình cải tiến (enterprise) của tìm kiếm nên tôi gỡ bỏ nó từ danh sách chính.
  2. Commerce *Update  Module này chỉ áp dụng cho sites thương mại điện tử. Commerce module có sự tích hợp tốt với một số "powerful Drupal modules" (eg Views, Rules) và linh hoạt hơn
  3. Memcache *Update
    Tôi đang sử dụng mô-đun này trên tất cả các trang web hiện nay. Nếu bạn biết làm thế nào để thiết lập Memcache trên cấp độ máy chủ sau đó cài đặt các module trên Drupal là rất đơn giản. Điều này cho phép bạn sử dụng Memcache thay vì cơ sở dữ liệu cho các bảng bộ nhớ cache và thực sự giúp quy mô trang web như Drupal tương tác với lưu trữ liên tục.

    UPDATE: Tôi di chuyển này đến "các module đáng chú ý" vì nhiều môi trường lưu trữ không có memcache.
  4. Revisioning *Update
    UPDATE: Tôi tin rằng đây là một mô-đun cho việc quản lý các phiên bản chỉnh sửa nhưng tôi không sử dụng này trên tất cả các website tôi xây dựng.
  5. SMTP *Update  Mô-đun này là rất cần thiết trong thời đại máy chủ đám mây. Rất nhiều máy chủ điện toán đám mây không thể gửi email theo cách cũ bởi vì các máy chủ đám mây IP bị chặn mà có thể rất bực bội. Sử dụng xác thực SMTP cho email là một cách giải quyết cho vấn đề này.

    UPDATE: Tôi di chuyển này đến "các module đáng chú ý" vì mô-đun này thường chỉ cần thiết cho các trang web trên một số máy chủ điện toán đám mây.
  6. Print *Update  Module đơn giản để biểu diễn một phiên bản 'in' của một trang hoặc gửi một trang qua email. Có thể được thuận tiện, mặc dù tôi có xu hướng không sử dụng nhiều như hiện nay.

    UPDATE: Tôi không sử dụng như là nhiều bởi vì tôi nghĩ rằng một "print stylesheet" hoạt động tốt hơn so với "output"bạn nhận được từ mô-đun này.
  7. Varnish *Update  Tôi đã được sử dụng Varnish trên tất cả các dự án trong một thời gian bây giờ. Đối với các trang web không Acquia (non-Acquia sites) tôi cài đặt các module Varnish được tích hợp rất tốt với bộ nhớ đệm Drupal API. Tôi thực sự thích chức năng này, tôi cũng chúc "Acquia hosting" có thể hỗ trợ mô-đun này (gợi ý).

    UPDATE: Tôi di chuyển này đáng chú ý đề cập đến chỉ vì nhiều môi trường lưu trữ không có varnish.
Posted by

Không có nhận xét nào:

Đăng nhận xét

Học lập trình web căn bản với PHP

Bài 1: Các kiến thức căn bản Part 1:  https://jimmyvan88.blogspot.com/2012/05/can-ban-lap-trinh-web-voi-php-bai-1-cac.html Part 2:  https://...