Alat pencarian tidak terbuka secara default

9

Kami menerapkan alat pencarian inti dalam tampilan daftar komponen khusus kami. Ketika saya mengklik alat pencarian itu menunjukkan bentuk di bawah ini yang sempurna.

masukkan deskripsi gambar di sini

Ketika saya mengklik drop-down dan memilih status tertentu Ex.'Trashed 'halaman akan dikirimkan dan formulir dimuat hanya dengan catatan sampah yang juga sempurna.

Setelah pemuatan halaman selesai, alat pencarian tidak menunjukkan filter secara default. Pengguna sekali lagi perlu mengklik tombol alat pencarian untuk membuka filter untuk mengatur ulang status yang dipilih.

Bagaimana cara membuat alat pencarian untuk menunjukkan filter secara default?

Malaiselvan
sumber

Jawaban:

7

Saya berhasil menambahkan opsi seperti di bawah ini

JLayoutHelper::render(
  'joomla.searchtools.default', 
   array('view' => $this, 
  'options' => array('filtersHidden' =>$hidden)));

Jika $ hidden ditetapkan sebagai 0 maka alat pencarian tidak akan disembunyikan. Saya mengatur variabel ini dengan tepat berdasarkan nilai filter yang dipilih.

Malaiselvan
sumber
3

Bidang filter akan secara otomatis terisi jika terdaftar dalam array $ config ['filter_fields'] Model Anda di konstruktor.

Sebagai contoh:

public function __construct ($config = array())
{
    if (empty($config['filter_fields']))
    {
        $config['filter_fields'] = array(
                'id', 'a.id',
                'title', 'a.title',
                'alias', 'a.alias',
                'checked_out', 'a.checked_out',
                'checked_out_time', 'a.checked_out_time',
                'catid', 'a.catid',
                'category_title',
                'published', 'a.published',
                'access', 'a.access',
                'access_level',
                'created', 'a.created',
                'created_by', 'a.created_by',
                'ordering', 'a.ordering',
                'featured', 'a.featured',
                'language', 'a.language',
                'hits', 'a.hits',
                'publish_up', 'a.publish_up',
                'publish_down', 'a.publish_down'
        );
    }

    parent::__construct($config);
}
Nagarjun
sumber
Terima kasih. Tapi itu tidak berfungsi. Saya memiliki bidang-bidang yang dikonfigurasi dalam variabel config di konstruktor tetapi saya masih perlu mengklik tombol 'Alat Pencarian' untuk membuka opsi filter. Ketika saya melakukan penelitian lebih lanjut pada sumber tampilan saya menemukan "filtersHidden":trueitu selalu ditetapkan sebagai benar dalam kasus saya.
Malaiselvan
1

Saya mengalami masalah yang sama tetapi telah melacaknya apa adanya. Ini adalah proses multi-langkah untuk mengatur filter.

  1. Agar filter berfungsi, Anda perlu menambahkan file filter_.xml di folder model / formulir. Ini membutuhkan file XML Joomla biasa.
  2. Anda perlu mengatur filter seperti yang disebutkan oleh @Nagarjun dalam model Anda
  3. Dalam pandangan Anda, Anda perlu menambahkan baris ini ke dalam fungsi tampilan

    $this->activeFilters = $this->get('ActiveFilters');
    
  4. Jika Anda memiliki docblock, Anda perlu menentukannya sebagai variabel publik :

    /**
      * List of active filters
      *
      * @var    array
      * @since  1.0
      */
    public $activeFilters = array();
    
  5. Terakhir tambahkan filter ke file template Anda:

    echo JLayoutHelper::render('joomla.searchtools.default', array('view' => $this));
    
RolandD
sumber