# Modifica della visibilità dei campi Si può modificare la visibilità dei vari campi (valore di $readonly) e altre variabili nelle varie modalità (ListView, EditView…). Per registrare una nuova “Vista” usare il metodo: **SDK::addView($module, $src, $mode, $success);** *$module : il modulo in cui applicare la vista* *$src : il file php* *$mode : la modalità di applicazione della regola (vedere sotto)* *$success: cosa fare dopo l’applicazione della regola (vedere sotto)* Le Viste definite per ogni modulo vengono applicate nell’ordine in cui sono registrate. Quando si registrano, vengono aggiunte in coda a quelle già definite per quel modulo. Il parametro $mode ha senso solo se si modifica la variabile *$readonly, e ammette i seguenti valori:* *“constrain” : forza il valore di $readonly ad assumere il nuovo valore dato nello script.* *“restrict” : cambia il valore di $readonly solo verso un valore più restrittivo (da 1 a 99 o 100, da 99 a 100, non viceversa)* Il parametro $success invece può essere: *“continue” : dopo l’applicazione della vista, continua con la successiva* *“stop” : se la vista restituisce $success = true, non vengono eseguite altre regole* All’interno degli script sono disponibili le seguenti variabili: *$sdk\_mode : uno tra “” (create), “edit”, “detail”, “popup\_query”, “list\_related\_query”, “popup”, “related”, “list”, “mass\_edit”* *$readonly : il valore di readonly per il campo che si sta per scrivere (1, 99, 100 rispettivamente lettura/scrittura, sola lettura, nascosto)* *$col\_fields: valori dei campi, solo per $sdk\_mode = “edit”, “detail” e “”* *$fieldname o $fieldName: nome del campo corrente* *$current\_user: l’utente corrente* Ed è possibile restituire la variabile $success con true o false. A seconda della modalità (ListView, EditView, …) ci sono diversi modi per modificare le query e diverse variabili disponibili.
**Modalità** | **Valore di $sdk\_mode** | **Variabili disponibili** | **Note** |
CreateView | *""* | *$col\_fields* *$current\_user* *$fieldname* *$readonly* *$success* | 1 |
EditView | *"edit"* | ||
DetailView | *"detail"* | ||
MassEdit | *"mass\_edit"* | ||
PopupQuery | *"popup\_query"* | *$sdk\_columns* *$success* | 2 |
List/RelatedQuery | *"list\_related\_query"* | *$sdk\_columns* *$success* | |
Popup | *"popup"* | *$current\_user* *$fieldname* *$sdk\_columnnames* *$sdk\_columnvalues* *$readonly* *$success* | 3 |
Related | *"related"* | 4 | |
List | *"list"* |
**Hooks** include/ListView/ListViewController.php include/utils/DetailViewUtils.php include/utils/EditViewUtils.php include/utils/ListViewUtils.php include/QueryGenerator/QueryGenerator.php Popup.php