2011-10-14 25 views

Trả lời

6

Trong Drupal 7 bạn có các thực thể và các trường; các trường được gắn với các thực thể. Một nút là một thực hiện của một thực thể (module nút thực hiện hook_entity_info() và các móc khác) để nó có thể có các trường.

Tất cả dữ liệu quan hệ trường/thực thể được lưu trữ trong các bảng field_data_field_xfield_revision_field_x hoặc tương tự (sau này có khả năng lưu trữ sửa đổi dữ liệu trường nếu kích hoạt nút được bật).

Cột entity_id trong các bảng đó là ID của nút và bundle là loại nội dung của nút. revision_id là ID bản sửa đổi của nút, một lần nữa chỉ thực sự hữu ích nếu các phiên bản nút được bật.

CẬP NHẬT

Trong thuật ngữ Drupal một loại nội dung là một bundlebundle s được gắn vào các thực thể (trong trường hợp này đơn vị node). Khi bạn tạo một loại nội dung mới, nó sẽ được lưu trữ trong bảng node_type và khi bộ nhớ cache bị xóa (yêu cầu hook_entity_info trên tất cả các mô-đun) chức năng node_entity_info() xây dựng danh sách các gói từ các loại nội dung (hãy xem bit trong chức năng bắt đầu foreach (node_type_get_names() as $type => $name) {, node_type_get_names nhận danh sách tất cả các loại nội dung).

Như đã thảo luận ở trên các trường có thể được đính kèm với thực thể, do đó, các trường có thể được đính kèm với các nút có delta (nếu bạn thích) là bundle.

+0

Loại nội dung được tạo trong GUI thực hiện hook_entity_info như thế nào? Tôi hiểu cách dữ liệu của trường được lưu trữ, nhưng biểu mẫu được tạo ra như thế nào? –

+1

Có phải field_config_instance xác định trường nào đi cùng với trường nào? –

+0

@ChrisMuench: Tôi đã cập nhật câu trả lời cho tôi biết nếu bạn cần bất kỳ làm rõ nó khá phức tạp nếu bạn không delved xung quanh bên trong các mô-đun lõi trước khi! – Clive

Các vấn đề liên quan