Nativamente la ricerca nelle liste popup avviene su tutti i dati. Vediamo come personalizzarla.
E’ possibile personalizzare la query di ricerca delle popup aggiungendo delle condizioni sui campi di quel modulo.
Se vogliamo mostrare solo un sottoinsieme di dati che soddisfa certe condizioni, possiamo farlo sfruttando una variabile di configurazione definita nei “metadati” della popup.
Nel file
custom/modules/<MODULO>/metadata/popupdefs.php
Se il file non esiste, possiamo clonarlo dalla cartella principale del modulo.
A questo punto è sufficiente aggiungere all’interno dell’array $popupMeta una stringa che riporti la condizione aggiuntiva da aggiungere alla query di ricerca.
Ad esempio:
1 2 3 |
'whereStatement'=> " (<tabella-modulo>.<campo-modulo> = <valore>) ", |
Se volessimo aggiungere una condizione di filtro fissa sulle Aziende per non mostrare aziende con codice “0000” dovremmo:
- creare il file
custom/modules/Accounts/metadata/popupdefs.php
se non esiste
- inserire la condizione di filtro nell’array $popupMeta come di seguito
12345678910111213141516171819<?php$popupMeta = array ('moduleMain' => 'Account','varName' => 'ACCOUNT','orderBy' => 'name','whereClauses' => array ('name' => 'accounts.name','assigned_user_id' => 'accounts.assigned_user_id',),'whereStatement'=> " (accounts.sic_code != '000') ",'searchInputs' => array (0 => 'name',8 => 'assigned_user_id',......