Drupal 7. Thực thể và Gói - Hướng dẫn đầy đủ với các ví dụ sử dụng Trình bao bọc siêu dữ liệu thực thể

Entity API của Drupal 7 cung cấp mô-đun Trình bao bọc siêu dữ liệu thực thể (EMW), là một trình bao bọc xung quanh các thực thể Drupal cho phép dễ dàng thao tác và truy xuất các thuộc tính và trường của thực thể

Dưới đây là một vài ví dụ về cách sử dụng EMW trên gói nút

  1. Truy xuất tiêu đề của một nút
$node = node_load(1);
$wrapper = entity_metadata_wrapper('node', $node);
$title = $wrapper->title->value();
  1. Đặt giá trị mới cho tiêu đề của nút
$node = node_load(1);
$wrapper = entity_metadata_wrapper('node', $node);
$wrapper->title->set('New Title');
$wrapper->save();
  1. Tải một trường của gói tùy chỉnh
$my_bundle = entity_load('my_bundle',1);
$wrapper = entity_metadata_wrapper('my_bundle', $my_bundle);
$field_value = $wrapper->field_custom->value();
  1. Đặt giá trị của trường tùy chỉnh của gói tùy chỉnh
$my_bundle = entity_load('my_bundle',1);
$wrapper = entity_metadata_wrapper('my_bundle', $my_bundle);
$wrapper->field_custom->set('New Value');
$wrapper->save();

Lưu ý rằng đối số đầu tiên được truyền cho hàm entity_metadata_wrapper() là loại thực thể, trong trường hợp này là "nút" hoặc "my_bundle" và đối số thứ hai là đối tượng thực thể thực tế

Cách drupal 7 gói entity_metadata_wrapper với các ví dụ
// Unified way of getting $node->title, $user->name, ...
$wrapper->label();

// Unified way of getting $node->nid, $user->uid, ...
$wrapper->getIdentifier();

// Unified way of getting $node->type, ...
$wrapper->getBundle();

Trình bao bọc siêu dữ liệu trong Entity Framework là gì?

Trình bao bọc siêu dữ liệu cung cấp cho chúng tôi một cách nhất quán để nhận loại thông tin này cho bất kỳ thực thể nào. Để sử dụng thông tin này (siêu dữ liệu), mô-đun cung cấp một số lớp trình bao bọc giúp dễ dàng nhận và đặt giá trị. Để bọc một đối tượng thực thể, bạn có thể sử dụng chức năng thủ tục (như bên dưới)

Làm cách nào để bọc một đối tượng thực thể trong Entity Framework?

Để bọc một đối tượng thực thể, bạn có thể sử dụng chức năng thủ tục (như bên dưới). Hoặc kể từ Entity API 7. x-1. 6, bạn cũng có thể sử dụng Thực thể. vỏ bánh(). Tuy nhiên, điều này chỉ hoạt động nếu đối tượng $entity sử dụng lớp Thực thể được cung cấp bởi mô-đun API Thực thể

Mô-đun API thực thể đã đóng góp làm gì?

Mô-đun API thực thể đã đóng góp cung cấp các lớp trình bao bọc giúp xử lý các giá trị thuộc tính và trường của thực thể dễ dàng hơn

Nhãn trong Drupal là gì?

Tất cả các thực thể Drupal đều có nhãn thuộc loại nào đó. Một chuỗi có thể được coi là tên chuẩn mà con người có thể đọc được của một thực thể. Tất cả các nút đều có thuộc tính tiêu đề và tất cả tài khoản người dùng đều có thuộc tính tên