Saya memiliki plugin ctools alias. tipe konten alias. panel panel. Bagaimana cara membuatnya secara terprogram?
chaos-tool-suite
roGi
sumber
sumber
Jawaban:
ctools_content_render()
adalah solusinya.sumber
ctools_include('content');
sebelumnyactools_content_render()
, karena dalam kasus lain Anda akan mendapatkan kesalahan fatal.Ada contoh yang bagus dan sederhana tentang cara melakukan ini di
ctools_ajax_sample
modul (dalam suite CTools).Seperti yang telah ditunjukkan, kuncinya adalah menggunakan fungsi
ctools_content_render()
.Contoh menunjukkan bagaimana mengisi argumen fungsi, meskipun Anda jelas harus menyesuaikannya sesuai dengan kebutuhan Anda.
Utas ini di Grup Drupal memberi lebih banyak wawasan tentang cara memuat konteks yang benar.
Mengajukan
ctools/ctools_ajax_sample/ctools_ajax_sample.module
sumber
Jika Anda memuat file yang diperlukan, yang benar-benar perlu Anda lakukan, adalah memanggil fungsi render (
hook_content_type_render
) yang akan mengembalikan objek kelas standar, sepertihook_block_view
halnya halnya.Yang Anda butuhkan dari sana adalah fungsi tema, kecuali jika Anda hanya ingin me-render output mentah secara langsung.
Dalam kode itu bisa terlihat seperti ini:
sumber
Saya dapat menarik halaman panel dalam panopoly menggunakan kode berikut:
sumber
module_load_include()
Anda dapat merusak proses pemuatan plugin ctools. CTools menggunakanrequire_once
metode, jadi jika file dimasukkan sebelumnya oleh skrip pihak ketiga tidak akan mungkin untuk memasukkannya dengan ctools (dan parse$plugin
array). Jadi sebagai resullt panel Anda tidak akan bekerja di tempat lain.