Filtri su records dataload
-
- Messaggi: 12
- Iscritto il: 16 lug 2018 15:07
- Località: Roma
Filtri su records dataload
Buongiorno ragazzi,
sto usando la release 2.4.1 di OSM e mi servirebbe utilizzare dei filtri tipo modulo Dashboard, con l'unica differenza che mentre la Dashboard utilizza il parametro custom nel campo query nel DB, il mio modulo dovrebbe filtrarli sul datatables.
Ho creato il file controller_before nella cartella del mio modulo e vi ho inserito l'HTML per i filtri che mi servono, da qui vorrei inserire il mio filtro tramite php nel paramentro $table['query'], ma non cambia niente, posso effettivamente farlo da questo file o c'è un modo di default per fare questi filtri?
Avete qualche consiglio?
Grazie
sto usando la release 2.4.1 di OSM e mi servirebbe utilizzare dei filtri tipo modulo Dashboard, con l'unica differenza che mentre la Dashboard utilizza il parametro custom nel campo query nel DB, il mio modulo dovrebbe filtrarli sul datatables.
Ho creato il file controller_before nella cartella del mio modulo e vi ho inserito l'HTML per i filtri che mi servono, da qui vorrei inserire il mio filtro tramite php nel paramentro $table['query'], ma non cambia niente, posso effettivamente farlo da questo file o c'è un modo di default per fare questi filtri?
Avete qualche consiglio?
Grazie
Re: Filtri su records dataload
ciao luckyesblue
tramite il file "controller_before" puoi aggiungere alla pagina i filtri sopra la tabella, il valore selezionato su questi filtri andrebbe salvato su variabile SESSION per poi essere letto ed utilizzato nel file "ajax_dataload.php", questo infatti è lo script che genera i contenuti per datatables
Se vuoi vedere un funzionamento simile, prova ad aggiungere un segmento (Strumenti -> Segmenti) al modulo "Fatture di vendita", quando c'è più di un segmento per un modulo compare un select sopra la tabella di quel modulo per la selezione del segmento, le righe visualizzate vengono logicamente filtrate per il segmento selezionato. Questa funzionalità (aggiunta dalla versione 2.3.1) viene sfruttata per l'esigenza di avere più sezionali in fatturazione.
Se ti interessa abbiamo già sviluppato delle personalizzazioni del genere per alcuni clienti, se ti interessa contattaci via email a info [chiocciola] openstamanager [punto] com
possiamo impostarti la soluzione in maniera corretta e dopo puoi continuare i tuoi sviluppi da solo....
tramite il file "controller_before" puoi aggiungere alla pagina i filtri sopra la tabella, il valore selezionato su questi filtri andrebbe salvato su variabile SESSION per poi essere letto ed utilizzato nel file "ajax_dataload.php", questo infatti è lo script che genera i contenuti per datatables
Se vuoi vedere un funzionamento simile, prova ad aggiungere un segmento (Strumenti -> Segmenti) al modulo "Fatture di vendita", quando c'è più di un segmento per un modulo compare un select sopra la tabella di quel modulo per la selezione del segmento, le righe visualizzate vengono logicamente filtrate per il segmento selezionato. Questa funzionalità (aggiunta dalla versione 2.3.1) viene sfruttata per l'esigenza di avere più sezionali in fatturazione.
Se ti interessa abbiamo già sviluppato delle personalizzazioni del genere per alcuni clienti, se ti interessa contattaci via email a info [chiocciola] openstamanager [punto] com

-
- Messaggi: 12
- Iscritto il: 16 lug 2018 15:07
- Località: Roma
Re: Filtri su records dataload
Buongiorno Fabio e scusami per il ritardo nella risposta,
in sincerità questa domanda che ti ho fatto era a scopo mio didattico, una mia fissa se vogliamo metterla così, quindi non c'è un bisogno imminente per una consegna o altro, sicuramente nel caso fosse stata una richiesta da parte di un cliente non avrei esistato a contattarti personalmente per una soluzione ad-hoc, anzi ne terrò conto.
Per quanto riguarda la mia richiesta iniziale diciamo che ho risolto in modo molto banale, facendo passare tramite delle select inserite nel controller_before alla variabile SESSION[module_N][search_NOMECAMPO] ( come se le scrivessi manualmente).
Ho anche visto che tramite la stessa variabile di sessione se passo due valori separati da virgola non mi restituisce niente. E' normale che sia così oppure potrebbe essere un problema di installazione?
Poi nel file ajax_dataload prende un valore $columns[$i]['search']['value'] che esplode e inietta nella query principale del modulo.. ( Ed è questo che mi servirebbe ) ma scorrendo l'array $total trovo il $total[search] => 1 con la chiave della colonna associata, ma non trovo il $total[search][value].. è una cosa ancora in via di sviluppo o devo cercare meglio.
Grazie.
Buona giornata
in sincerità questa domanda che ti ho fatto era a scopo mio didattico, una mia fissa se vogliamo metterla così, quindi non c'è un bisogno imminente per una consegna o altro, sicuramente nel caso fosse stata una richiesta da parte di un cliente non avrei esistato a contattarti personalmente per una soluzione ad-hoc, anzi ne terrò conto.
Per quanto riguarda la mia richiesta iniziale diciamo che ho risolto in modo molto banale, facendo passare tramite delle select inserite nel controller_before alla variabile SESSION[module_N][search_NOMECAMPO] ( come se le scrivessi manualmente).
Ho anche visto che tramite la stessa variabile di sessione se passo due valori separati da virgola non mi restituisce niente. E' normale che sia così oppure potrebbe essere un problema di installazione?
Poi nel file ajax_dataload prende un valore $columns[$i]['search']['value'] che esplode e inietta nella query principale del modulo.. ( Ed è questo che mi servirebbe ) ma scorrendo l'array $total trovo il $total[search] => 1 con la chiave della colonna associata, ma non trovo il $total[search][value].. è una cosa ancora in via di sviluppo o devo cercare meglio.
Grazie.
Buona giornata
Re: Filtri su records dataload
Ciao luckyesblue,
il sistema di gestione dei valori di ricerca è già completo.
Se devi effettuare un filtro attraverso i campi visibili della tabella, puoi sfruttare un sistema simile a quello impostato per i widget delle Anagrafiche, che impostano il testo di ricerca nella barra relativa (il sistema filtra di conseguenza).
Se invece desideri fare filtri su campi non visibili, questo non è supportato.
Quanto ai filtri di ricerca, hai individuato correttamente la procedura: quando un testo viene inserito nelle barre di ricerca del campo, viene salvato nella sessione in con alcune operazioni di normalizzazione che puoi trovare nel file include/manager.php alla riga 113.
Se passi due valori separati da virgola, vengono ricericati in automatico in modo separato.
non esiste, poichè i dati di ricerca vengono presi dalla richiesta GET di Datatables e non dal database.
il sistema di gestione dei valori di ricerca è già completo.
Se devi effettuare un filtro attraverso i campi visibili della tabella, puoi sfruttare un sistema simile a quello impostato per i widget delle Anagrafiche, che impostano il testo di ricerca nella barra relativa (il sistema filtra di conseguenza).
Se invece desideri fare filtri su campi non visibili, questo non è supportato.
Quanto ai filtri di ricerca, hai individuato correttamente la procedura: quando un testo viene inserito nelle barre di ricerca del campo, viene salvato nella sessione in
Codice: Seleziona tutto
SESSION[module_<id_module>][search_<nome_campo>]
Se passi due valori separati da virgola, vengono ricericati in automatico in modo separato.
Codice: Seleziona tutto
$total[search][value]
Re: Filtri su records dataload
Eventualmente, controlla i contenuti del commit https://github.com/devcode-it/openstama ... a7ac77674e, dove ho separato la gestione di questi campi per renderla più comprensibile.
Puoi utilizzare il metodo searchFieldName per ottenere il nome del campo:
Puoi utilizzare il metodo searchFieldName per ottenere il nome del campo:
- #th_<nome> per ottenere la colonna della tabella principale
- $_SESSION['module_<module_id>']['search_<nome>'] per ottenere il valore da ricercare
-
- Messaggi: 12
- Iscritto il: 16 lug 2018 15:07
- Località: Roma
Re: Filtri su records dataload
Buongiorno dasc3er e grazie per i tuoi interventi,
la questione dei filtri mi è chiara, anche se dove tu dici "Se passi due valori separati da virgola, vengono ricericati in automatico in modo separato" a me non funziona, esempio in anagrafiche se volessi ricercare solo i Tecnici e i Clienti passando "Cliente, Tecnico" nella serarch field #th_Tipologia mi da nessun risultato pur avento Tecnici e Clienti, ( se ho capito male quello che intendevi perdonami ).
Grazie
la questione dei filtri mi è chiara, anche se dove tu dici "Se passi due valori separati da virgola, vengono ricericati in automatico in modo separato" a me non funziona, esempio in anagrafiche se volessi ricercare solo i Tecnici e i Clienti passando "Cliente, Tecnico" nella serarch field #th_Tipologia mi da nessun risultato pur avento Tecnici e Clienti, ( se ho capito male quello che intendevi perdonami ).
Grazie
-
- Messaggi: 12
- Iscritto il: 16 lug 2018 15:07
- Località: Roma
Re: Filtri su records dataload
Non avevo visto, grazie per il link al commit, ora me li spulcio!


Re: Filtri su records dataload
Mi sono spiegato male: per il momento, i valori separati da virgola vengono cercati in modo separato con una richiesta di contemporaneità.
Cercare quindi "Cliente, Tecnico" troverà le anagrafiche che sono sia Cliente che Tecnico.
Non è ancora presente una funzione di tipo "oppure".
Cercare quindi "Cliente, Tecnico" troverà le anagrafiche che sono sia Cliente che Tecnico.
Non è ancora presente una funzione di tipo "oppure".
-
- Messaggi: 12
- Iscritto il: 16 lug 2018 15:07
- Località: Roma
Re: Filtri su records dataload
Buongiorno, perfetto, grazie per i chiarimenti!
Buona Giornata

Buona Giornata