Saya sedang mengerjakan dokumentasi API Entitas di sini: https://drupal.org/developing/api/entity .
Pertanyaannya terlalu besar untuk dijawab secara terperinci, dan itu tergantung pada apakah Anda memerlukan konten atau entitas konfigurasi. Dengan asumsi Anda menginginkan entitas konten (disimpan dalam basis data, dapat diisi / direvisi / ..., detail di tautan di atas), Anda perlu melakukan sesuatu seperti ini, dokumentasi yang ditautkan di atas pada akhirnya akan mencakup setiap langkah, termasuk tutorial, sekarang juga , itu hanya mencakup langkah pertama.
- Berikan kelas entitas dan tambahkan anotasi yang diperlukan untuk memaparkannya sebagai entitas.
- Berikan tabel yang diperlukan, Anda tidak perlu banyak berubah jika Anda sudah memiliki skema 7.x Anda, tetapi Anda ingin menambahkan kolom uuid dan mungkin langcode jika entitas Anda memiliki bahasa / dapat diterjemahkan. Lihat contoh simpul yang ditautkan pada langkah jika Anda ingin membuat beberapa bidang dasar (properti) dapat diterjemahkan atau direvisi, Anda saat ini perlu menyediakan tabel yang diperlukan sendiri.
- Berikan definisi bidang dasar dalam metode baseFieldDefinitions () Anda. . Perhatikan bahwa cara kerjanya akan berubah di https://drupal.org/node/2047229 (dari array ke kelas).
- Terapkan metode yang diperlukan sebelum / sesudah Simpan / muat / Hapus jika Anda memiliki logika khusus yang perlu terjadi misalnya sebelum menyimpan suatu entitas (seperti memperbarui stempel waktu yang diubah).
- Terapkan pengontrol akses jika Anda memiliki logika akses non-sepele dan menimpa metode checkAccess () dan checkCreateAccess () atau tentukan admin_permission dalam anotasi Anda jika Anda hanya memiliki satu izin yang memungkinkan akses penuh.
- Disarankan meskipun tidak secara teknis diperlukan untuk menyediakan antarmuka untuk kelas entitas Anda (misalnya NodeInterface untuk Node) yang mencakup metode yang berguna (biasanya get / set / isSomething ()) untuk bidang dasar Anda, sehingga Anda dapat mengetikkan petunjuk pada antarmuka dan dapatkan pelengkapan otomatis untuk metode tersebut.
Tergantung pada apa yang Anda butuhkan, juga akan ada langkah-langkah lebih lanjut, seperti mendefinisikan formulir yang diperlukan, mungkin pengendali render dan sebagainya, tetapi itu mungkin harus menjadi pertanyaan terpisah jika Anda memerlukan informasi lebih lanjut.
Catatan:
- Entitas config pada dasarnya serupa, kecuali Anda harus menggunakan pengontrol penyimpanan config ( https://drupal.org/node/2119905 akan membuat ini lebih mudah), Anda tidak perlu mendefinisikan skema tabel (tentu saja) tetapi Anda harus memberikan file skema konfigurasi, lihat misalnya untuk kosa kata taksonomi atau tipe simpul.
- Entitas konten tidak memiliki bidang dasar yang didefinisikan sebagai properti publik atau yang dilindungi, sebaliknya, mereka dikelola secara otomatis dalam properti nilai dan bidang. Akses mereka baik melalui get () / set () atau metode sulap yang sesuai. ($ node-> title sama dengan $ node-> get ('title')).
- Bantuan pada dokumentasi akan sangat disambut baik. Saya telah membuat garis besar dasar untuk konten / struktur yang ingin saya miliki, jadi buat saja halaman baru dan mulai misalnya saya juga tertarik memiliki tutorial yang disederhanakan, untuk entitas konfigurasi, sudah ada satu di sini yang sudah saya miliki. akan pindah ke dokumentasi entitas saat siap: https://drupal.org/node/1809494
- Core memiliki cukup banyak implementasi entitas konten, jika Anda ingin melihat contoh kerja: Node, User, Term, Comment, CustomBlock, ... seperti yang dijelaskan pada artikel di langkah 1, Anda selalu dapat menemukan jenis entitas yang disediakan oleh modul dalam ruang nama Entity.
- @fago baru saja memberikan presentasi tentang Entity API di DrupalCamp Vienna akhir pekan ini, mencakup banyak hal yang saya tulis di sini dan banyak lagi.