17
Entity API in Drupal 7 Tibezh Ivan Drupal developer at InternetDevels

DrupalTour. Zhytomyr — Entity API in Drupal 7 (Ivan Tibezh, InternetDevels)

Embed Size (px)

Citation preview

Page 1: DrupalTour. Zhytomyr — Entity API in Drupal 7 (Ivan Tibezh, InternetDevels)

Entity API in Drupal 7

Tibezh IvanDrupal developer at InternetDevels

Page 2: DrupalTour. Zhytomyr — Entity API in Drupal 7 (Ivan Tibezh, InternetDevels)

Зміст1. Що таке та навіщо Entity2. Create an Entity3. Bundles4. Fields5. Entity6. Entity API7. Metadata wrapper8. Other

Page 3: DrupalTour. Zhytomyr — Entity API in Drupal 7 (Ivan Tibezh, InternetDevels)

Навіщо Entity

● Гнучкість

● Об’єднання даних у одному місці

● Інтеграція з модулями Views, Rules etc.

Page 4: DrupalTour. Zhytomyr — Entity API in Drupal 7 (Ivan Tibezh, InternetDevels)

Що таке Entity

● node

● taxonomy_term

● taxonomy_vocabulary

● comment

● etc...

Page 5: DrupalTour. Zhytomyr — Entity API in Drupal 7 (Ivan Tibezh, InternetDevels)

Create entity

hook_entity_info()● label● controller class● fieldable● bundles● view modes● type.

Page 6: DrupalTour. Zhytomyr — Entity API in Drupal 7 (Ivan Tibezh, InternetDevels)

Bundles

● Різні поняття

● Різні поля

Page 7: DrupalTour. Zhytomyr — Entity API in Drupal 7 (Ivan Tibezh, InternetDevels)

Fields

Page 8: DrupalTour. Zhytomyr — Entity API in Drupal 7 (Ivan Tibezh, InternetDevels)

Entity - Field

Page 9: DrupalTour. Zhytomyr — Entity API in Drupal 7 (Ivan Tibezh, InternetDevels)

Entity functions from core

entity_● get_controller● get_info● label● language● load● load_unchanged● prepare_view● uri

Page 10: DrupalTour. Zhytomyr — Entity API in Drupal 7 (Ivan Tibezh, InternetDevels)

Entityvs.Entity API

Page 11: DrupalTour. Zhytomyr — Entity API in Drupal 7 (Ivan Tibezh, InternetDevels)

Entity API (contrib)

Entity API - це розширення функціональності Entity у Drupal.

● CRUD* controller● default properties

Page 12: DrupalTour. Zhytomyr — Entity API in Drupal 7 (Ivan Tibezh, InternetDevels)

Functions entity_● access● create● delete● delelte_multiple● export● import● load_single● metadata_wrapper● revision_delete● revision_load● save● view● get_property_info

Page 13: DrupalTour. Zhytomyr — Entity API in Drupal 7 (Ivan Tibezh, InternetDevels)

Hooks

● hook_entity_view● hook_entity_insert● hook_entity_update● hook_entity_presave● hook_entity_delete● hook_entity_load

Page 14: DrupalTour. Zhytomyr — Entity API in Drupal 7 (Ivan Tibezh, InternetDevels)

Entity metadata wrapper

Page 15: DrupalTour. Zhytomyr — Entity API in Drupal 7 (Ivan Tibezh, InternetDevels)

Чому entity metadata wrappers?

● читабельність коду

● простий доступ до полів

● мультимовність

● простота у використанні

Page 16: DrupalTour. Zhytomyr — Entity API in Drupal 7 (Ivan Tibezh, InternetDevels)

Приклад

$wrp = entity_metadata_wrapper(‘node’, $nid);$mail = $wrp->author->mail->value();

$wrp->language('uk')->title_field->value();

$wrp->field_text->set(‘test’);$wrp->save();

Page 17: DrupalTour. Zhytomyr — Entity API in Drupal 7 (Ivan Tibezh, InternetDevels)

Питання