Ver Mensaje Individual
  #12 (permalink)  
Antiguo 19/07/2010, 00:43
Avatar de syntex
syntex
 
Fecha de Ingreso: noviembre-2002
Ubicación: Cataluña
Mensajes: 978
Antigüedad: 22 años
Puntos: 4
Respuesta: Ayuda a la clase de vista MVC

Ok muchas gracias por el reporte,

Una cosa el objeto $url->urlAmigables('index.php?controlador=ayuda',1);

No viene en el link que me facilitastes, verdad???
Yo lo he hecho es en la clase Views es incluir la vista y dos layouts de cabecera y pie.
Despues me e creado una clase de Helpers de los tipos de avisos que existieran para el template de la vista.

CONTROLADOR
Código PHP:
<?php
class UsuariosController extends ControllerBase
{    
    
//*********************************************************************************************
    
public function agregar(){
        if (
$_POST[user] !="" and $_POST[pass] !=""){
            
$ADD $this->items->add_Usuarios();
            if (
$ADD == TRUE){
                
$data['error']         = $this->helpers->view("AccesoCorrecto");    
                
$data['title']         = "Grabar Usuarios";
                
$this->view->show("UsuariosGrabadoOk.php"$data);
            }
        }else{
            if (
$_POST[boton] !=""){
                
$data['error']         = $this->helpers->view("Datosregistro");    
            }
            
$data['title']         = "Formulario de registro";
            
$this->view->show("UsuariosFormulario.php"$data);
        }
    }
    
//*********************************************************************************************
    
public function listar(){
        
$consulta    $this->items->Query_Usuarios();
        
$data['consulta']     = $consulta;
        
$data['title']         = "Listado de usuarios";
        
$this->view->show("UsuariosListar.php"$data);
        
$this->Bd->limpiaconsulta($consulta);
    }
    
//*********************************************************************************************
    
public function acceso(){
        if (
$_POST[user] !="" and $_POST[pass] !=""){
            
$CNS $this->items->comprobar_Usuarios();
            if (
$CNS == TRUE){
                
$data['title']         = "Panel de control Uusarios";
                
$this->view->show("UsuariosPaneldecontrol.php"$data);
            }else{
                
$data['title']         = "Formulario de acceso usuarios - Error en Usuario";
                
$data['error']         = $this->helpers->view("Noexiste");
                
$this->view->show("UsuariosAcceso.php"$data);
            }
        }else{
            if (
$_POST[boton] !=""){
                
$data['error']         = $this->helpers->view("Obligadopulsar");
            }
            
$data['title']         = "Formulario de acceso usuarios";
            
$this->view->show("UsuariosAcceso.php"$data);
        }
    }
    
//*********************************************************************************************
}
?>
Como verás $data['title'] le paso el valor al title del template html.
Si ves algo un poco incorrecto, es bueno corregir.

HELPERS

Código PHP:
<?php
class Helpers{
    public function 
__construct(){
        
    }
    public function 
view($path){
        
$path RUTA_helpers.$_GET['controlador'].$path.".php";
        if (
file_exists($path) == TRUE
        {
            
ob_start();
            include(
$path);
            
$E5 ob_get_clean();
            return 
$E5;
        }else{
            
$E5 "La vista Helpers ($path) No existe";    
            return 
$E5;
        }
    }    
}
?>
Otras dudas que tengo són.

Vemos que realizamos desde la clase ItemsModel una function de una consulta a la bd y despues mostramos los resultados en el template html.
Pero si quisieramos liberizar la tabla de la consulta, crearíamos una function nueva en la clase del modelo???????????????

Muchsimas gracias


Un saludo y muchas gracias.
__________________
------------------------------------------------
La paciencia es el rey de la ciencia
------------------------------------------------


Última edición por syntex; 19/07/2010 a las 02:25