Saya telah membuat tampilan dengan sejumlah filter terbuka, tetapi terlihat sangat jelek.
Saya ingin memperbaiki tema, termasuk membungkus semuanya dalam suatu fieldset serta mengelompokkan beberapa elemen lainnya (seperti memasangkan input yang diterbitkan dan diperbarui), tetapi tidak yakin bagaimana cara melakukannya.
Saya mencoba var_dump formulir, tetapi tampaknya berjalan selamanya dan browser saya terkunci, jadi saya tidak dapat dengan mudah mempelajari apa pun tentang formulir itu.
Saya juga mencoba meletakkan formulir sebagai anak fieldset di formulir lain, tetapi mendapatkan semua informasi ID formulir dan sebagainya terbukti bermasalah (walaupun, saya memang mendapatkan style fieldset).
Adakah yang punya petunjuk?
Memperbarui:
Saya menyalin template dari modul ke direktori tema situs saya, dan memulai.
<fieldset>
<legend>Filters</legend>
<div class="views-exposed-form">
<div class="views-exposed-widgets clear-block">
<?php foreach($widgets as $id => $widget): ?>
<div class="views-exposed-widget">
<?php if (!empty($widget->label)): ?>
<label for="<?php print $widget->id; ?>">
<?php print $widget->label; ?>
</label>
<?php endif; ?>
<?php if (!empty($widget->operator)): ?>
<div class="views-operator">
<?php print $widget->operator; ?>
</div>
<?php endif; ?>
<div class="views-widget">
<?php print $widget->widget; ?>
</div>
</div>
<?php endforeach; ?>
<div class="views-exposed-widget">
<?php print $button ?>
</div>
</div>
</div>
</fieldset>
Saya tidak bisa menemukan cara memasangkan bidang tanggal - Saya perlu memodifikasi properti widget agar saya dapat membungkusnya dalam HTML (menggunakan hook_form_alter tidak berfungsi karena #prefix dan #suffix ditambahkan $widget->widget
sehingga mereka hentikan output)
views-exposed-form--view_id.tpl.php
atauviews-exposed-form--view_id--display_id.tpl.php
, info lebih lanjutLihat juga modul Filter yang Lebih Baik Terkena . Anda akan memerlukan rilis -dev untuk mendapatkan opsi filter yang dapat dilipat, meskipun saya berharap untuk mendapatkan rilis 1.1 yang tepat segera ...
sumber
Anda harus melihat apa yang ada dalam
form['#theme']
item tersebut. Cara yang lebih baik untuk melakukan ini (lebih baik daripadavar_dump()
) akan menggunakandsm($form)
atau bahkankpr($form)
, fungsi-fungsi ini akan tersedia setelah Anda menginstal modul devel ( http://drupal.org/project/devel ).form['#theme']
harus berupa larik sekitar 7 elemen. Elemen-elemen ini adalah nama-nama kait tema yang dipanggil saat formulir ini diberikan. Anda dapat menggunakannya untuk menerapkan cara Anda sendiri untuk menentukan tema suatu formulir.Salah satu item akan dipanggil
views_exposed_form__VIEW_NAME__DISPLAY_ID
.Dalam modul Anda (jika Anda memilikinya) harus ada implementasi hook_theme ()
sumber
Dalam situasi sebelumnya saya telah menggunakan Hook_form_alter () untuk menambahkan awalan dan akhiran untuk membentuk elemen untuk membungkusnya dalam div yang kemudian dapat ditata. Namun tidak yakin tentang pembungkus di fieldsets.
misalnya.
sumber
Gunakan hook_form_FORM_ID_alter Drupal untuk memodifikasi formulir. Inilah yang memecahkan masalah saya tentang awalan karakter £ ke bidang harga saya (taruh ini di modul khusus Anda):
sumber
Modul tata letak bentuk terbuka (D7) akan membantu Anda dengan tampilan tema formulir terpapar.
sumber
di halaman edit tampilan kita dapat memeriksa informasi tema (sudut kanan bawah). Ini memberikan informasi mengenai file templat yang digunakan oleh Drupal untuk membuat bagian berbeda dari tampilan di layar. Secara default, file template yang disediakan oleh modul views (di dalam folder temanya) digunakan, tetapi jika kami ingin memodifikasi cara tampilan ditampilkan, kami dapat mengganti file template tersebut dengan file template kustom yang dapat kami tempatkan di dalam file kami. folder tema sendiri sendiri (atau tema yang akan digunakan untuk menampilkan tampilan ini)
Informasi tema ini menunjukkan kepada kita bagaimana memberi nama file sesuai dengan hierarki (atau cakupan efek file templat yang akan Anda timpa templat templat tampilan sendiri.)
Sekarang, informasi tema ini mungkin tidak memperlihatkan semua file templat yang digunakan tampilan untuk merender tampilan spesifik ini.
jadi, buka situs / semua / modul / tampilan / tema dan salin views-exposed-form.tpl.php (karena dalam hal ini kami ingin mengganti default untuk rendering filter!) dan menempelkannya di dalam folder tema Anda sendiri, sekarang Anda harus mengikuti metode yang sama untuk mengontrol efek dari file template utama ini yang telah Anda masukkan ke dalam folder tema Anda sendiri dengan mengganti nama sesuai. eg view-exposed-form - view name-pane name.tpl.php Anda (Anda akan memahami nomenklatur dengan melihat tema: informasi di halaman edit tampilan)
sekarang Anda dapat menambahkan css ke masing-masing widget (dihasilkan oleh penangan filter) dalam file template ini dan pengaturan itu akan diterapkan pada filter.
kunjungi http://eureka.ykyuen.info/2011/07/25/drupal-theme-the-exposed-filter-in-views/
sumber