Foros del Web » Programando para Internet » PHP » CodeIgniter »

Similar a un carrito de compras

Estas en el tema de Similar a un carrito de compras en el foro de CodeIgniter en Foros del Web. Hola a todos! Estoy trabajando con grocery crud y estoy desde hace varios días trabada con un tema. Quiero agregar en el formulario de alta ...
  #1 (permalink)  
Antiguo 19/04/2016, 18:09
 
Fecha de Ingreso: agosto-2003
Mensajes: 524
Antigüedad: 20 años, 11 meses
Puntos: 5
Similar a un carrito de compras

Hola a todos!
Estoy trabajando con grocery crud y estoy desde hace varios días trabada con un tema.
Quiero agregar en el formulario de alta varios items y a su vez que se genere un campo que sería "cantidad". Lo que pretendo hacer es algo similar a un carrito de compras pero mucho más sencillo.

En el código logré hacer lo de los items, pero creo que voy a necesitar hacerlo de otro para poder agregar el campo cantidad por cada item.

Les dejo el código:

Código PHP:
<?php

if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class 
DocumentosElab extends CI_Controller {

    function 
__construct() 
    {
        
        
parent::__construct();        
        
$this->template->set_layout('layout.php');
        
$this->load->database();
        
$this->load->library('grocery_crud');
        
$this->load->helper('url');
        
$this->load->library(array('session'));
                
$this->load->model(array('CI_auth''CI_menu'));
                
$this->load->helper(array('html','url'));
    }

    function 
index() 
    {
    
    
    }

    
    
    function 
documentoselab_v()
    {
    
        if(
$this->CI_auth->check_logged()===FALSE)
           
redirect(base_url().'index.php/login/');
        else{
                
$data['title'] = 'Area Restringida';
                
$data['menu_top'] = $this->CI_menu->menu_top();
                
$data['body'] = '<div style="padding:10px;">Usuario logueado</div>';
                
                echo 
$this->input->post('username');
                
                
$this->load->view('_output_html'$data);
        }
        
        
$this->load->view('layouts/header');
        
$this->load->view('layouts/menu');
        
        try{

            
$crud = new grocery_CRUD();
            
$crud->set_theme('datatables');
            
$crud->set_table('documentos');            
            
$crud->set_subject('documentos');
            
$crud->set_language('spanish');

            
$crud->required_fields(
                
'IdDocumento',                
                
'IdProveedor'                                            
            
);

            
$crud->columns(
                
'IdProveedor',    
                
'DocFecha'
            
);
            

            
$crud->unset_fields('DocCompr');//, 'hidden', 0); //deshabilitado
            
$crud->field_type('DocPuesto''hidden'0); //escondido
            
$crud->field_type('DocNumero''hidden'0);
            
$crud->field_type('DocFechaAlta''hidden'0);
            
$crud->field_type('DocPc''hidden'0);
            
$crud->field_type('DocFecha''hidden'0);
            
$crud->field_type('DocObservacion''hidden'0);
            
$crud->field_type('DocUsuario''hidden'0);
            
            
$crud->display_as('IdProveedor','Proveedor');
            
$crud->display_as('DocFecha','Fecha');
            
$crud->display_as('DocObservacion','Observación');
            
            
$crud->set_relation('IdProveedor','proveedores''ProvRSocial');
                        
                        
// para agregar múltiples items, pero creo que necesitaré hacerlo diferente
            
$crud->set_relation_n_n('Productos''docproductos''productos''IdDocumento''IdProducto''ProdDescripcion''priority');
            
            
$output $crud->render();
            
                        
// acá probé generar un campo 
            
$crud->add_fields('my_field');
                        
$crud->change_field_type('my_field''text');
                        
$crud->callback_edit_field('my_field',array($this,'callback_my_field'));

            function 
callback_my_field()
            {
                return 
'+30 <input type="text" maxlength="50" value="cantidad" name="Cantidad" style="width:462px">';
            }
            
            
            
            
$this->load->view('documentoselab/documentoselab_v'$output);
            
        }catch(
Exception $e){
            
            
show_error($e->getMessage().' --- '.$e->getTraceAsString());
        }
        
        
$this->load->view('layouts/footer');
    }
}
?>
gracias de antemano!
__________________
Saludos!!!
Maru.-

Etiquetas: carrito, crud, items, multiples
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:38.