Example #1
0
// INSTANCIAR EL CONTROLLER REQUERIDO
// SI EL METODO SOLICITADO EXISTE, LO EJECUTO, SI NO EJECUTO EL METODO INDEX
// RENDERIZAR EL RESULTADO CON EL TEMPLATE Y DATOS DEVUELTOS
// SI NO EXISTE EL TEMPLATE DEVUELTO, MUESTRO UNA PAGINA DE ERROR
//---------------------------------------------------------------
include_once $fileController;
$con = new $clase($request);
if (!method_exists($con, $metodo)) {
    $metodo = "IndexAction";
}
$result = $con->{$metodo}();
// Archivos css y js especificos del template a mostrar
$result['values']['controller'] = $controller;
$result['values']['action'] = $metodo;
$result['values']['template'] = $result['template'];
$result['values']['archivoCss'] = Controller::getArchivoCss($result['template']);
$result['values']['archivoJs'] = Controller::getArchivoJs($result['template']);
// Cargo los valores para el modo debuger
if ($config['debug']['active']) {
    $result['values']['_enCurso'] = $result['values']['enCurso'];
    $result['values']['_debugMode'] = true;
    $result['values']['_auditMode'] = (string) $config['audit_mode'];
    $result['values']['_user'] = print_r($_SESSION['usuarioPortal'], true);
    $result['values']['_debugValues'] = print_r($result['values'], true);
}
// Si el método no devuelve template o no exite, muestro un template de error.
if (!file_exists($config['twig']['templates_folder'] . '/' . $result['template']) or $result['template'] == '') {
    $result['values']['error'] = 'No existe el template: "' . $result['template'] . '" devuelto por el método "' . $clase . ':' . $action . 'Action"';
    $result['template'] = '_global/error.html.twig';
}
// Establecer el layout segun el dispositivo de navegación