<?php modelo::usar('articulo'); modelo::usar('cliente'); class controlador_articulos extends controlador { public $accion_defecto = 'admin'; //------------------------------------------------------------------------- //Accion para ADMINISTRAR/LISTAR articulos public function accion_admin() { //---------- //Extraer Datos para ejecucion con la pagina que se está viendo. $pagina = isset($_GET['p']) ? (int) $_GET['p'] : 0; if ($pagina < 1) { $pagina = 1; } //se empieza en la primera pagina como mucho. $lineas = config::get('pagina.lineas', 10); if ($lineas < 1) { $lineas = 1; } //como minimo se obtiene 1 elemento por pagina. //---------- //Ejecutar accion $sql = articulo::sqlListar(); $total = basedatos::contar($sql); $registros = basedatos::obtenerTodos($sql, $pagina - 1, $lineas); //---------- //Dar una respuesta vista::generarPagina('admin', array('pagina' => $pagina, 'lineas' => $lineas, 'total' => $total, 'registros' => $registros));
<?php //modelo::usar('pedido'); modelo::usar('articulo'); class pedidolin extends modeloDAO { //Atributos del objeto en la base de datos public $idLinea; //Identificador de la linea del pedido para facilitar los accesos public $serie; //Serie del pedido al que pertenece la linea public $numero; //Numero del pedido al que pertenece la linea public $orden; //Orden de la linea dentro del pedido, se deberia poder cambiar una linea de posicion en el orden public $refArt; //Articulo asociado a la linea o "NULO" si es linea de texto libre public $texto; //Texto copiado del articulo o el texto libre que se haya introducido public $cantidad = 0; //Cantidad de unidades, puede ser negativo para devoluciones public $precio = 0.0; //Precio del articulo con 2 decimales, copiado inicialmente del articulo pero modificable, no deberia ser negativo public $iva = 0.0; //Tipo de IVA del articulo en porcentaje, copiado inicialmente del articulo public $importeBase = 0.0; //Importe precalculado de la Cantidad * Precio, para facilitar su tratamiento public $cuotaIva = 0.0; //Importe precalculado del importeBase * iva / 100, para facilitar su tratamiento //------------------------------------------------------------------------- //Atributos adicionales para facilitar la gestión del pedido.
<?php modelo::usar('carrito'); modelo::usar('articulo'); modelo::usar('cliente'); modelo::usar('pedido'); modelo::usar('pedidolin'); class controlador_carrito extends controlador { public function accion_introducir() { //sesion::set('carro', null); $error = 'No se ha podido añadir el artículo'; $pagina = isset($_GET['p']) ? (int) $_GET['p'] : 0; $miCarro = sesion::get('carro'); $filtro = array('referencia' => $_GET['id']); $articulo = new articulo(); $sql = $articulo->sqlBuscar($filtro); $res = basedatos::obtenerUno($sql); $articulo->llenar($res); if ($miCarro === null && isset($_GET['id'])) { //Introduce un artículo al carro por primera vez $miCarro = array(); //"Casting" a objeto del array $miCarro (object) ($miCarro[$articulo->referencia] = $articulo); $miCarro[$articulo->referencia]->cantidad = 1; sesion::set('carro', $miCarro); $error = 'Artículo añadido correctamente'; } else { //Comprobar que el artículo que se quiere introducir no está en el carro if (isset($_GET['id'])) {
<?php //Generar el pie de la tabla con las acciones. //if (tiene_permiso( 'clientes.editar')) { vista::generarPieza('boton_accion', array('texto' => 'Editar', 'icono' => 'editar.png', 'activo' => false, 'url' => array('a' => 'clientes.editar', 'id' => $modelo->referencia, 'p' => $pagina))); //}//if "permiso" //Generar el boton para VOLVER. vista::generarPieza('boton_accion', array('texto' => 'Volver', 'icono' => 'volver.png', 'activo' => true, 'url' => array('a' => 'clientes', 'p' => $pagina))); ?> </div> </td> </tr> </tfoot> </table> </div> <?php modelo::usar('carrito'); $miCarro = sesion::get('carro'); if ($miCarro !== null) { ?> <div class="hoja"> <?php vista::generarParcial('carrito/ver'); ?> </div> <?php } ?>