Drupal 7: Cara Mudah Menampilkan Exposed Views Filter Diluar Block Menggunakan File Template
Setelah sekian lama mencari-cari cara agar dapat menampilkan blok exposed views filter diluar "blok aslinya", akhirnya upaya ku membuahkan hasil. Caranya ternyata mudah, cukup menggunakan fungsi views_get_view('nama_views')
dan kemudian membuat dan merender form versi siap cetaknya menggunakan fungsi drupal_build_form('views_exposed_filter',$form_state)
. Dengan solusi ini, maka jadilah seperti apa yang tertera di halaman Daftar Artikel di rumah kita yang baru ini TutorKeren.com.
Berikut tampilannya dalam sekilas:
Kodingnya gimana ?
Ini dia:
<section id="saringan"> <?php $view = views_get_view('node_beautify'); $display_id = 'block_3'; $view->set_display($display_id); $view->init_handlers(); $form_state = array( 'view' => $view, 'display' => $view->display_handler->display, 'exposed_form_plugin' => $view->display_handler->get_plugin('exposed_form'), 'method' => 'get', 'rerender' => TRUE, 'no_redirect' => TRUE, ); $form = drupal_build_form('views_exposed_form', $form_state); ?> <div id="nb-artikel-filter-cnt" class="view-filters row"> <div class="col-sm-12 col-lg-12"> <?php print drupal_render($form);?> </div> </div> </section>
Penjelasan:
Yang perlu diganti adalah nama views (machine name) dari display yang ingin dikeluarkan / exposed filternya ingin dicetak diluar, dalam kasus ku nama views nya adalah node_beautify
. Kemudian tidak lupa juga nama displaynya, yaitu 'block_3'
. Dalam kasus kalian nama displaynya bisa menjadi page, page_1 dan seterusnya, tergantung jenis dari display kalian apa. Untuk melihat nama displaynya gampang, tinggal lihat di bagian theming di pojok kanan bawah.
Sekian tutorial singkat ini, semoga bisa membantu para pencari yang membutuhkannya... dan tentunya bisa membantu diriku juga seandainya perlu solusi ini lagi di lain kesempatan, hihi...
Mari Gabung
Halo
, Ada yang ingin disampaikan? Jangan sungkan untuk gabung diskusi ini. Silahkan Login dulu atau Daftar baru.