Buat file templat untuk blok tampilan

19

Ada banyak hal tentang membuat blok khusus, tetapi bagaimana dengan blok yang dibuat oleh tampilan?

Blok pandangan saya memiliki id: blok-blok-tampilan-daftar-blok,

Saya mencoba banyak cara untuk penamaan file templat, mis: blok - blok - views-posts-listing-block.tpl.php, tetapi saya tidak dapat menemukan nama file yang benar.

Natrium
sumber
1
The pengembang Tema modul dapat memberitahu Anda nama file template.
Oswald
Terima kasih, tetapi saya mendeteksi bahwa Themer untuk D7 terkadang tidak bekerja dengan baik.
Codium

Jawaban:

18

Edit tampilan Anda. dan Di bawah pengaturan "Advanced" pada detail Block Anda, klik "Theme: Information". Daftar opsi file templat akan ditampilkan.

misalnya, jika blok Anda memiliki nama "daftar kiriman", lihat kemungkinan nama yang tercantum oleh opsi "Informasi Tema":

* Display output: views-view.tpl.php, views-view--posts-listing.tpl.php, views-view--default.tpl.php, views-view--block.tpl.php, views-view--posts-listing--block.tpl.php
* Style output: views-view-unformatted.tpl.php, views-view-unformatted--posts-listing.tpl.php, views-view-unformatted--default.tpl.php, views-view-unformatted--block.tpl.php, views-view-unformatted--posts-listing--block.tpl.php
* Row style output: views-view-fields.tpl.php, views-view-fields--posts-listing.tpl.php, views-view-fields--default.tpl.php, views-view-fields--block.tpl.php, views-view-fields--posts-listing--block.tpl.php
* Field Content: Title (ID: title): views-view-field.tpl.php, views-view-field--title.tpl.php, views-view-field--posts-listing.tpl.php, views-view-field--posts-listing--title.tpl.php, views-view-field--block.tpl.php, views-view-field--block--title.tpl.php, views-view-field--posts-listing--block.tpl.php, views-view-field--posts-listing--block--title.tpl.php 

misalnya : blok Anda memiliki daftar posting nama , dan gaya belum diformat , kemudian "Informasi Tema" menyarankan nama views-view-unformatted--posts-listing--block.tpl.php(ini hanya salah satu dari beberapa nama). Anda dapat menyalin asli views-view-unformatted.tpl.phpfile template (terletak di / modules / views / tema) ke direktori tema Anda saat ini, dan mengubah nama file ini dengan nama yang disarankan: views-view-unformatted--posts-listing--block.tpl.php. lalu buat perubahan di dalam file templat Anda. Jika templat ini tidak memungkinkan melakukan perubahan yang diinginkan, cari templat lain sesuai kebutuhan Anda.

Pada akhirnya, jika Anda menambahkan templat baru, pindai ulang daftar file templat:

Penting! Saat menambahkan, menghapus, atau mengganti nama file templat, perlu untuk membuat Drupal menyadari perubahan dengan membuatnya memindai ulang file pada sistem Anda. Dengan mengklik tombol "Telusuri ulang file Templat" Anda mengosongkan registri tema Drupal dan dengan demikian memicu proses pencarian ulang ini. Templat yang disorot (dalam daftar templat Anda di atas tombol "Telusuri ulang File") kemudian akan mencerminkan keadaan baru sistem Anda.

Modul Pengembang Tema http://drupal.org/project/devel_themer yang disarankan oleh Oswald dapat berguna untuk mendeteksi kemungkinan templat / s untuk mengubah elemen tertentu sesuai kriteria Anda. Saya tidak merekomendasikan modul ini diaktifkan di lingkungan produksi (dalam kasus saya, bahkan saya telah menonaktifkan modul di lingkungan pengujian, karena tampaknya memiliki konflik dengan pandangan, tetapi ketika diperlukan, telah sangat berguna)

cigotete
sumber
Tidak, itu tidak membantu dengan keluaran tampilan blok tema. Ini hanya untuk konten tampilan tema, tapi saya ingin blok tema yang membungkus pandangan saya
Codium
Halo, silakan tinjau lagi daftar templat yang ditunjukkan oleh "Informasi Tema" di View-> Block settings, ada beberapa templat yang diakhiri dengan --blocknamanya. Ingat reescan templat, dan ingat menempatkan templat di dalam direktori tema Anda saat ini (salin templat yang dipilih dari modul / tampilan / tema). templat harus memiliki nama yang disarankan oleh daftar "Informasi Tema". Berhasil.
cigotete
@drupality, saya telah menambahkan contoh dengan langkah-langkah untuk meninjau proses, silakan tinjau dalam paragraf " misalnya ", dalam jawabannya.
cigotete
Terima kasih tetapi saya tidak dapat menghapus pembungkus div class = "content" default dengan itu juga. Saya hanya dapat mengubah html yang dibuat oleh tampilan
Codium
2
@ moon.watcher, saya pikir Anda salah paham. Mengakhiri file template dengan "blok" tidak memengaruhi tema blok itu sendiri. Itu membuat file templat khusus untuk blok yang dilihatnya menghasilkan (sebagai tampilan dapat menampilkan beberapa blok dari tampilan yang sama). Konten bertema dari tampilan adalah output ke mesin bertema blok, dan dibungkus dengan markup yang disediakan oleh block.tpl.php. Apa yang ingin dilakukan oleh drupality (dan juga saya) adalah mengubah tema blok itu sendiri.
18

Bagi mereka yang mencari jawaban di D7, menurut Theme Developer (alias devel_themer), Anda dapat membuat tpl override untuk blok tampilan menggunakan konvensi:

blok - views-- {view's machine_name} -block

Oleh karena itu dalam contoh memberi Anda akan dapatkan

blok - views-- post-listing -block.tpl.php

Tanpa spasi (saya tidak bisa mengedit ini dengan benar untuk memungkinkan semuanya menjadi sejajar.

noTxt
sumber
Saya mengkonfirmasi noTxt benar, buka bagian blok, dan edit blok, url akan menunjukkan kepada Anda nama blok tampilan dengan garis bawah, my_view_name-block. ganti garis bawah jadi my-view-name, dan gunakan format ini: "block - views - my-view-name = block.tpl.php"
Nevos
2
Ya, ini jawaban yang lebih benar, jadi: blokir - tampilan - VIEWNAME-MACHINENAMEOFDISPLAY.tpl.php Perhatian pada tanda hubung tunggal sebelum nama Mesin! Nama mesin = secara default namanya adalah blok, blok-1 dan seterusnya, tetapi Anda dapat mengganti nama dalam tampilan UI.
Nikit
7

Di akhir setengah jam mengganti nama, inilah kesimpulan akhir saya:

block--views--[view-name]-[display-name].tpl.php

[view-name] - [display-name] bagian dapat ditemukan seperti noTxt berkata atau bergabung dengan '-' nama id dari tampilan dan nama id dari tampilan tampilan, -blok pada akhirnya tidak benar .

TourTools
sumber
5

Di Drupal 8

masukkan deskripsi gambar di sini

Templat bidang adalah:

views-view-fields - [view-name] - blok-1.html.twig

Tidak ada Sssweat
sumber
Pertanyaan ini tentang D7 ... Mengapa Drupal 8 dalam jawaban Anda?
Pierre.Vriens
@ Pierre.Vriens karena pertanyaan populer di pandangan (bukan modul), saya pikir saya harus menambahkan jawaban versi D8 di sini.
No Sssweat
Nah, itu ide yang menarik ... Bagaimana kalau melakukan hal yang sama untuk pertanyaan + 21 ribu ini juga?
Pierre.Vriens
@ Pierre.Vriens kebanyakan dari mereka tidak populer.
Tidak ada Sssweat
1
8 tag ditambahkan, bagus;)
Codium
1

block--views--[view-name]-[display-name].tpl.phpharus diubah menjadi block--views--[view-name]-[machinename].tpl.php.

Anda akan menemukan nama mesin dari bagian lanjutan pandangan Anda di mana ada tulisan lain

Arindam
sumber
1

Pola nama file yang dijelaskan di atas berfungsi KECUALI nama tampilan + nama tampilan Anda lebih panjang dari jumlah karakter tertentu !! Saya tertangkap oleh ini dan tidak dapat menemukan mengapa file templat yang berakhir dengan ... block.tpl.phpberfungsi dan tampilan berikut ... block-1.tpl.phptidak berfungsi.

Ternyata Views mengganti nama mesin dengan hash MD5 jika namanya terlalu panjang. Jika Anda ingin memastikan nama templat yang harus Anda gunakan, tambahkan $conf['theme_debug'] = TRUE;pengaturan.php Anda dan kemudian lihat sumber halaman. jika Anda menemukan sesuatu seperti block--views--d131dd02c5e6eec4.... Anda sebaiknya mempersingkat nama mesin tampilan (jika Anda berhasil melakukannya ... Itu bukan nama yang bisa dibaca manusia). Atau Anda perlu menggunakan file template dengan nama konyol itu.

Lihat juga

Nama mesin Views Block sedang "hash" (?)

dan

https://www.drupal.org/node/346602

pengguna3074436
sumber
0

Periksa halaman ini https://www.drupal.org/node/1089656 , dan informasi tentang garis bawah yang dilihat menggunakan:

Juga satu lagi contoh dengan Tampilan, jika Anda memiliki blok yang dibuat oleh tampilan dengan nama tampilan "front_news" dan menampilkan id "block_1" maka saran tema kait akan: blok - pandangan - depan-berita-blok-1. tpl.php (pemberitahuan, ketika Anda memiliki garis bawah pada id tampilan atau dalam nama tampilan - Anda harus mengubahnya menjadi satu tanda garis)

Егор Малыгин
sumber
0

Untuk blok di dalam panel panel, solusi yang disediakan oleh noTxt dan lainnya tidak berfungsi. Sintaksnya adalah (tidak ada garis bawah!):

panels-pane-block--views-[view-name]-[display-machine-name].tpl.php

Terima kasih kepada user3074436 untuk menyediakan pengaturan $ conf ['theme_debug'] untuk mengetahui case override tema yang luar biasa ini

rawdesk.be
sumber