Diferencia entre revisiones de «SIU-Guarani/Version3.11.0/personalizaciones/personalizacion de acceso»
(→Personalización de acceso) |
(→Personalización de acceso) |
||
Línea 12: | Línea 12: | ||
Para personalizar el acceso (cambiar menúes, orden, visibilidad, etc) se debe crear un archivo dentro de la personalización con el mismo nombre. Este archivo debe tener la misma estructura que el provisto por el SIU pero sólo debe especificar lo que cambia. En ejecución el contenido de este archivo será mergeado con el del SIU para obtener la configuración final utilizando la función [http://www.php.net/manual/en/function.array-replace-recursive.php array_replace_recursive()]. | Para personalizar el acceso (cambiar menúes, orden, visibilidad, etc) se debe crear un archivo dentro de la personalización con el mismo nombre. Este archivo debe tener la misma estructura que el provisto por el SIU pero sólo debe especificar lo que cambia. En ejecución el contenido de este archivo será mergeado con el del SIU para obtener la configuración final utilizando la función [http://www.php.net/manual/en/function.array-replace-recursive.php array_replace_recursive()]. | ||
− | Los archivos <tt><path proyecto 3w>/siu/conf/acceso/acc_*.php</tt> representan un arreglo PHP con la siguiente estructura: | + | Los archivos <tt><path proyecto 3w>/src/siu/conf/acceso/acc_*.php</tt> representan un arreglo PHP con la siguiente estructura: |
<source lang="php" enclose="div"> | <source lang="php" enclose="div"> | ||
array ( | array ( |
Revisión del 14:49 3 dic 2015
Personalización de acceso
Los archivos de acceso se encuentran en:
└── siu
└── conf
└── acceso
└── acc_<PERFIL>.php
Para personalizar el acceso (cambiar menúes, orden, visibilidad, etc) se debe crear un archivo dentro de la personalización con el mismo nombre. Este archivo debe tener la misma estructura que el provisto por el SIU pero sólo debe especificar lo que cambia. En ejecución el contenido de este archivo será mergeado con el del SIU para obtener la configuración final utilizando la función array_replace_recursive().
Los archivos <path proyecto 3w>/src/siu/conf/acceso/acc_*.php representan un arreglo PHP con la siguiente estructura:
'id' => 'ALU',
'parametros' => array (
'index' => 'inicio_alumno'
),
'operaciones' => array (
'examen' => array (
'activa' => true, // obligatorio
'accion_default' => 'index', // opcional, se asume index por defecto
'url' => 'examen', // opcional, se asume <ID_OPERACION> por defecto
'menu' => array ( // opcional, si no se incluye la op no aparece en el menu
'visible' => true, // obligatorio si se incluye la entrada 'menu'
'submenu' => null, // opcional, si no se setea se asume q no va dentro de un submenu
'texto' => 'clave' // opcional, es la clave que se va a buscar en el archivo de mensajes. Si no se setea este valor se asume 'header.menu.<NOMBRE_OP>'
),
'parametros' => array( // opcional, parametros especificos de la operacion
'x' => 'y'
)
),
...
),
)
- id: representa el nombre del perfil. Ej: 'ALU', 'GER', etc
- parametros: parámetros globales del perfil. Ej: la página inicial del perfil.
- operaciones: esta entrada tiene un subarreglo por cada operación y la clave de este subarreglo es el nombre de la operación (que se tiene que corresponder con el directorio en el sistema de archivos). Cada subarreglo tiene la siguiente estructura:
- activa: opcional. Si la operación está activada o no. Por defecto el valor es true. Si una operación es desactivada desde aquí no se podrá activar desde la interfaz web.
- url: opcional. La url por la que se va a acceder a esta operación. Por defecto es el nombre de la misma.
- menu: Define el comportamiento en el menú de la operación:
- visible: Si la operación aparece en el menú. Valores posibles true/false.
- submenu: opcional. Define el submenú donde aparecerá la operación.
Ejemplo: supongamos que dado el archivo de configuración que aparece más arriba en este documento se desea:
- Agregar una nueva operación
- Desactivar la operación cursada
- Cambiar la url de la operación examen.
Para hacer esto, el archivo <path proyecto 3w>/src/pers/<PERSONALIZACION>/conf/acceso/acc_ALU.php debe verse de la siguiente manera:
'operaciones' => array (
'listado_alumnos' => array ( // nueva operación
'menu' => array(
'visible' => true,
'submenu' => 'listados'
),
),
'cursada' => array ( // desactivación de operación cursada
'activa' => false
),
'examen' => array ( // modificación de una operación existente
'url' => 'examenes',
),
),
)