Saya ingin menambahkan fungsionalitas ini ke widget pelengkapan otomatis di bidang Entityreference untuk menampilkan ID simpul di sebelah judul dalam daftar dropdown. Alasan di balik gagasan itu adalah untuk membedakan antara beberapa node dengan judul yang sama.
Contoh:
- Ini adalah judul (3)
- Ini adalah judul (2)
- Ini adalah judul (1)
Saya tahu ID simpul ditampilkan setelah pemilihan dilakukan tetapi saya ingin menunjukkannya di daftar dropdown untuk memilih simpul yang tepat dengan cepat berdasarkan ID simpul.
Jawaban:
Pasang modul Tampilan dan Entitas Referensi , buat Tampilan baru dan Tambahkan Tampilan Referensi Entitas:
Kemudian Tambahkan di bidang judul konten dan nid, klik di nid dan centang Kecualikan dari tampilan, Simpan dan klik dalam judul dan pergi untuk menulis ulang output dari judul sebagai
[title] - ([nid])
Pergi untuk mengedit pengaturan format dan memeriksa judul, ini akan memungkinkan Anda untuk mencari berdasarkan judul.
Simpan tampilan.
Pergi untuk mengedit bidang Referensi Entitas Anda dan pilih di Mode Views: .... (seperti gambar berikut) dan pilih View Anda (dalam hal ini namanya adalah: articles_with_id) dan simpan pengaturan:
Lalu pergi untuk melihat hasilnya:
EDIT: Ini sekarang bekerja di Drupal 8, setidaknya dalam versi 8.3.4.
sumber
Buat bidang Referensi Entitas dengan konfigurasi default
Function entitasreference_autocomplete_callback_get_matches menentukan output dari autocomplete.
baris terakhir
$matches[$prefix . $key] = '<div class="reference-autocomplete">'
menentukan output dan$entity_id
tersedia yang merupakan ID. Anda dapat melakukan apa yang saya lakukan di baris itu (ditunjukkan oleh**
), cukup tulis:Anda dapat menggunakan
$entity_id
untuk mengambil bidang lain dan apa pun yang Anda inginkan.Satu hal lagi!
Beberapa kali itu bukan ide yang baik untuk mengubah fungsi modul inti (jika tidak penting bagi Anda solusi di atas sudah cukup).
Jika Anda perlu mengganti fungsi inti
entity_reference
modul, buat modul kecil dan beri namaelabel
ini
elabel.info
dan itu
elabel.module
Saya mencoba kode ini dan berfungsi dengan baik Jika ada jenis referensi entitas lain dan Anda tidak perlu melakukan ini untuk mereka, cukup tambahkan
IF
pernyataan dan periksa bundel atau tipe konten.sumber