Các hook bắt buộc khi tạo Field type mới cho Drupal (7+)
Trước khi tìm hiểu những hook bắt buộc phải biết một Field type gồm những thành phần nào, theo kiến trúc của Field API thì một Field type gồm 3 thành phần chính:
- Đinh nghĩa thông tin cho Field - Phần định nghĩa Field này khai báo thông tin như: Khai báo thông tin cho Field, định nghĩa cấu trúc CSDL cho Field, kiểm tra giá trị hợp lệ, kiểm tra Field rổng hay không.
- Định nghĩa Formatter cho Field - Khai báo kiểu hiển thị của Field.
- Định nghĩa Widget cho Field - Khai báo phần nhập liệu của Field.
Vậy khi viết một Field type mới cần bắt buộc các hook sau đây:
- Định nghĩa thông tin cho Field
- hook_field_info() - Khai báo thông tin của một Field.
- hook_field_schema() - Khai báo cấu trúc cơ sở dữ liệu của Field.
- hook_field_validate() - Kiểm tra giá trị hợp lệ của Field.
- hook_field_is_empty() - Định nghĩa nếu Field là rổng.
- Định nghĩa Formatter cho Field
- hook_field_formatter_info() - Định nghĩa thông tin của Formatter cho Field.
- hook_field_formatter_view() - Định nghĩa kiểu hiển thị cho từng loại Formatter.
- Định nghĩa Widget cho Field
- hook_field_widget_info() - Định nghĩa thông tin của Widget.
- hook_field_widget_form() - Định nghĩa form của một Field.
Ngoài các hook bắt buộc trên còn các hook khác như hook_field_widget_error, hook_field_settings_form,... khi đụng chạm thực tế thì cần tìm hiểu thêm ở những module thực tế.
7 comments
Hôm nay em mới có dịp xem
Hôm nay em mới có dịp xem Drupal 7, vừa cài beta2. Chỉ có thể nói thật là khủng khiếp. Dạo này yêu Drupal thế, đã đến lúc kiếm cơm đc rồi :d. Thanks anh đã hỗ trợ em đợt làm đồ án :x
Chú ý: hook_field_schema()
Chú ý: hook_field_schema() bây giờ phải khai báo trong file .install của module
áo cưới
Mấy hôm đọc ebook nhưng chưa hiểu lắm, bây giờ thì hiểu rồi, cảm ơn anh Sĩ rất nhiều :)
Bài viết về cách xây dựng một
Bài viết về cách xây dựng một field type trong Drupal 7.x http://www.agileapproach.com/blog-entry/compound-fields-drupal-7
cho mình hỏi chút với
mình có 1 site đang sử dụng mã nguồn khác với drupal, giờ mình muốn add cái feedback của drupal vào đuợc ko, drupal mình cài đặt ở thư mục mới rồi :"site mình/folder drupal"
thanks all
Bạn nói rỏ yêu cầu được ko?
Bạn nói rỏ yêu cầu được ko? Feedback nhúng dạng widget hay sao? Nhúng vào site chạy drupal hay site chạy mã nguồn khác.
Một số bài viết liên quan
http://evolvingweb.ca/story/poutine-maker-introduction-field-api-drupal-...
http://evolvingweb.ca/story/poutine-maker-introduction-field-api-drupal-...
Post new comment