A volte è utile poter definire un ordinamento di base degli elenchi per presentare i dati in maniera più comoda all’utilizzatore.
La modifica dell’ordinamento delle liste è una operazione che può essere effettuata solo da codice, non è possibile definire da applicativo questa impostazione.
E’ possibile applicare questa modifica a tutti i moduli per poter controllare gli ordinamenti standard dei diversi elenchi. Per fare questo è sufficiente modificare il file che gestisce la vista della lista del modulo desiderato
view.list.php
ed aggiungere un controllo su alcuni valori della variabile $_REQUEST, alla funzione
listViewPrepare()
1 2 3 4 5 6 7 |
if(empty($_REQUEST['orderBy'])) { $_REQUEST['orderBy'] = 'nome_campo_da_ordinare'; $_REQUEST['sortOrder'] = 'asc'; //'asc' oppure 'desc' definisce il tipo di ordinamento ascendente o discendente } |
Vediamo come procedere con un esempio pratico sulla lista delle Aziende per impostare l’ordinamento di default delle righe per nome, di tipo crescente.
Estendiamo il file relativo alla vista a liste creando il file:
custom/modules/Accounts/views/view.list.php
Al suo interno inseriremo le istruzioni per la gestione dell’ordinamento come accennato in precedenza
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
require_once('modules/Accounts/views/view.list.php'); class CustomAccountsViewList extends AccountsViewList { function listViewPrepare() { if(empty($_REQUEST['orderBy'])) { $_REQUEST['orderBy'] = 'name'; //nome campo da ordinare $_REQUEST['sortOrder'] = 'asc'; //tipo di ordinamento } parent::listViewPrepare(); } } |
E’ possibile applicare questa modifica a tutti i moduli facendo attenzione ad inserire il nome del campo esatto e modificando i riferimenti da “Accounts” a “NOME_MODULO_DESIDERATO”