Saya telah membuat blok menggunakan hook_block_info
dan hook_block_theme
sejenisnya. Tapi bagaimana saya bisa tema itu?
Saya memilikinya berfungsi mengembalikan array dengan kunci 'subject'
dan 'content'
. Tapi saya membuat markup langsung di hook_block_view()
hook dan bukan itu yang saya inginkan.
Dalam dokumen dikatakan bahwa konten sebaiknya dikembalikan sebagai array yang dapat diurai dan bukan sebagai markup. Tapi apa array yang dapat diulang ini ? Mereka mengatakan itu seharusnya data bukan markup, tetapi yang saya lihat dalam contoh adalah bahwa itu hanya digunakan sebagai pembungkus untuk markup, jadi tidak ada yang didapat di sana.
Saya ingin dapat memiliki block--MYMODULE--DELTA.tpl.php
dalam tema saya, tetapi bagaimana saya menyebutnya dan bagaimana saya bisa meneruskan data ke blok?
Jawaban:
Cara saya melakukan ini adalah sebagai berikut ...
Dan kemudian dalam subfolder di modul Anda dipanggil
theme
harus ada file yang disebutmy-template.tpl.php
yang bisa memiliki ini di dalamnya:Dan jika Anda mau, Anda sebenarnya bisa menimpa implementasi modul "default" yang baru saja Anda buat
my-module.tpl.php
dalam tema sesuai keinginanblock--MYMODULE--DELTA.tpl.php
.sumber
admin/config/development/performance
dan klikclear cache
tombol. Anda juga dapat menghapus cache menggunakan drush yaitudrush cc all
Coba modul Pengembang Tema . Setelah diaktifkan, Anda dapat mencentang kotak di sudut kiri bawah halaman Drupal Anda. Setelah itu, Anda dapat mengklik pada blok Anda dan mendapatkan informasi yang berguna mempertimbangkan theming. Misalnya, Anda dapat melihat kemungkinan penamaan file .tpl.php untuk blok Anda.
Pilih salah satu nama itu. Yang pertama adalah yang paling spesifik. Itu hanya akan tema satu blok. Buat file dengan nama itu di folder tema Anda jika belum ada di sana. Anda dapat memasukkannya ke dalam subfolder jika Anda ingin mengaturnya.
Salin konten block.tpl.php di file Anda dan mulailah mengubah hal-hal seperti yang Anda inginkan.
Simpan file Anda, hapus cache dan muat ulang halaman.
sumber
Sudah ada sejumlah jawaban untuk pertanyaan ini, tetapi saya telah mencoba memberikan pendekatan yang sangat sederhana. Semoga mengidentifikasi ke devs struktur array yang diharapkan oleh Drupal ketika mengembalikan konten blok Anda.
Untuk melakukan ini, saya membagi pertanyaan menjadi beberapa contoh kode terpisah,
Silakan lihat penjelasan lengkap di sini drupal 7 membuat blok khusus bertema
sumber
Ini adalah posting lama, tetapi saya telah menemukan solusi yang lebih baik untuk mengganti template blok dari modul khusus untuk Drupal 7.
Tambahkan ini ke modul khusus Anda:
Maka Anda perlu kode ikuti:
Yang harus Anda lakukan adalah membuat
templates/block--my-custom-module.tpl.php
di dalam folder modul Anda.Saya telah menulis tutorial tentang Tutorial Drupal ini - Cara Mengesampingkan Blok Template dari Modul Kustom
sumber