Saya membuat entitas kustom menggunakan API Entitas yang memiliki properti tertentu yang didefinisikan hook_schema()
dan juga dinyatakan dalam entityPropertyInfo()
, kelas yang diperluas EntityDefaultMetadataController
.
Sejauh ini baik.
Sekarang saya ingin agar pengguna dapat menyesuaikan jika dan bagaimana properti ini ditampilkan ketika melihat entitas jadi saya menerapkan hook_field_extra_fields () dan mendeklarasikannya.
Kemudian, di Kontroler saya yang meluas EntityAPIController
saya menambahkan properti ke array $ content buildContent()
sebagai, diuraikan di sini .
Ini benar-benar berfungsi dengan baik dan properti diberikan dan menghormati pengaturan urutan dan visibilitas di "Kelola Tampilan".
Namun, sepertinya saya tidak tahu cara menambahkan pengaturan di Kelola Tampilan untuk menyesuaikan posisi label ( inline/above/hidden
) dan, yang lebih penting, bagaimana menentukan pemformat khusus untuk properti ini.
Ada petunjuk?
Jawaban:
Anda bisa membuat modul yang menyediakan
property
tipe bidang " ". Simpan properti yang akan diformat sebagai pengaturan instance dan kemudian terapkan formatter untuk itu. Seharusnya relatif mudah. Modul relation memiliki modul bidang dummy yang dapat membantu Anda dalam mencari tahu cara kode ini.sumber
seperti yang Anda lihat di
field_ui_display_overview_form
dalammodules/field_ui/field_ui.admin.inc
halamanDisplay setting
akan mengisi dengan$instances
dan$extra_fields
:dalam fungsi ini ada dua loop yang membuat halaman:
dan
dan hanya di loop pertama yang beralih di bidang ada opsi untuk
label
danformatter
jadi jika Anda ingin fungsi ini di properti Anda (seperti yang dikatakan @Clive):
sumber