Cara memberi nama view-exposed-form.tpl.php per tampilan tampilan


8

Saya mencoba views-exposed-form--"view_name"--"display_name".tpl.phptetapi tidak berhasil. Apakah mungkin membuat file template yang hanya berlaku untuk filter tampilan tampilan yang terbuka?

Saya memiliki dua filter terbuka dari dua tampilan berbeda dalam tampilan yang sama, dan saya ingin menentukan tema dua filter terbuka dengan dua file template.


Tidak, saya sedang mencoba. Tapi itu tidak berhasil.

Ini sebenarnya bukan jawaban untuk pertanyaan itu. Mungkin akan lebih baik untuk mengajukan pertanyaan lagi dan menjelaskan bagaimana dan mengapa solusi yang ada tidak bekerja untuk Anda?
Neograph734

Ini tidak memberikan jawaban untuk pertanyaan itu. Setelah Anda memiliki reputasi yang cukup, Anda akan dapat mengomentari setiap pos ; alih-alih, berikan jawaban yang tidak memerlukan klarifikasi dari penanya . - Dari Ulasan
Shawn Conn

Jawaban:


2

Segalanya mungkin di Drupal;)

Mungkin Tampilan tidak secara otomatis memberikan saran templat untuk filter yang terbuka, seperti halnya untuk bidang itu sendiri. Jadi, Anda perlu melakukan sedikit lebih banyak pekerjaan untuk yang ini:

  1. Gunakan modul devel_themer untuk mengetahui fungsi / templat apa yang menyaring filter yang terbuka.
  2. Buat preprosesor untuk fungsi / templat tema itu. Di preprosesor Anda, Anda kemudian dapat menyisipkan saran templat dinamis yang akan padam berdasarkan kondisi yang Anda inginkan. Anda dapat membuat preprosesor ini baik dalam file template.php tema kustom Anda atau di salah satu modul khusus Anda. Artikel DO ini akan memandu Anda dengan membuat saran templat dinamis.

Saya akan berasumsi bahwa Anda akan menampilkan tampilan Tampilan berbeda berdasarkan jalur URL. Jika ini masalahnya, maka Anda dapat menggunakan arg()fungsi Drupal di preprocessor Anda untuk mencari tahu apa tampilan tampilan yang saat ini Anda tampilkan, dan buat saran template Anda menggunakan informasi itu.

Setelah Anda menyiapkan saran dengan benar, maka Drupal akan secara otomatis memanggil templat dan voilá yang sesuai, Anda memiliki templat filter berbeda berdasarkan jalur (atau kondisi lain yang Anda tentukan dalam preprosesor Anda).


25

Untuk Drupal 7, Anda dapat menggunakan bentuk-tampilan-terbuka - view_name - display_name.tpl.php (Ganti garis bawah dengan tanda hubung dalam nama tampilan dan nama tampilan.)

Itu bekerja untuk saya seperti itu.


Ini berhasil dari saya. Berikut adalah contoh nama templat formulir terbuka saya: views-exposed-form - trunk_shows - panel-pane-1.tpl.php
albertski

Meskipun tampilan-terkena-bentuk Anda - view_name - display_name.tpl.php mungkin tidak terdaftar saat Anda melakukan ini, pada menambahkan file template baru Anda, Anda juga harus mengedit tampilan, klik pada Advanced-> Other-> Theme -> Informasi, lalu klik tombol Pindai Ulang File Template.
kbrinner

Anda tidak perlu nama tampilan, jika Anda tidak perlu spesifik. Untuk tampilan blokir saya, "Tampilan Acara", menamai file template saya "view-exposed-form - events-view.tpl.php" bekerja untuk saya. Terima kasih, @kaimlaluno. Ini mungkin jawaban yang diterima.
ProGrammar

3

di drupal8

/ admin / structure / views / view / event_related

akan menjadi

views-exposed-form - event_related.html.twig


1

Untuk drupal 8, mode debug tema tidak menampilkan saran template yang tersedia. Anda dapat mengetahui mana yang tersedia menggunakan kint () atau membuat yang baru di hook ini:

/**
 * Implements template_theme_suggestions_node_HOOK_alter().
 * Add theme suggestions to the view exposed forms.
 */
function YOUR_THEME_theme_suggestions_views_exposed_form_alter(&$suggestions, $vars, $hook) {
  kint($vars['form']['#theme']);
  //$suggestions[] = 'views__exposed__form__' . $anything; 
}
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.