Tema: Crear un ABM
Ver Mensaje Individual
  #18 (permalink)  
Antiguo 01/01/2007, 15:14
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Crear un ABM

Creo nos hemos salido un poco del tema, y para ayudar a tico74, te posteo un poco de codigo de como puede "funcionar" tu clase.

Código PHP:
/**
Pensando en una tabla asi:
idCliente - Autonumerico
RazonSocial - Texto
FechaRegistro - Date
FechaModificacion - Date
Calle - Texto
Numero - Numero
Colonia - Texto
CP - Numero
Logo - Texto
**/
$config = array(
       
'server' => "localhost",
       
'username' => "root",
       
'password' => '',
       
'database' => 'test_bd',
);

GeckoDB::setDefaultConfig$config );

$logoFormat = new GeckoCellFormatterPicture();
$logoFormat->setPathgetcwd() . '/uploads/pictures/' );

class 
Clientes extends GeckoModuleManager {
        protected 
$_table 'clientes';
        protected 
$_gridColumns = array(
               
"idCliente",
               
"RazonSocial",
               
"Logo",
        );
        protected 
$_gridColumnFormat = array(
                
"Logo" => $logoFormat,
        );

        protected function 
setUpForm() {
              
$razonSocialField = new GeckoFormFieldText();
              
$razonSocialField->setRequired(true);
              
$razonSocialField->setLength(100);

              
$logoField = new GeckoFormFieldPicture();
              
$logoField->setUploadPathgetcwd() . '/uploads/pictures/' );
              
$logoField->setMaxPictureSize100 1024 ); // 100 kb
              
$logoField->setAllowedPictureTypesGeckoFormFieldPicture::IMG_JPG GeckoFormFieldPicture::IMG_GIF GeckoFormFieldPicture::IMG_PNG );

              
$dateField = new GeckoFormFieldDate();
              
$dateField->setPastEnabled(0); // No pueden seleccionar una fecha               en el "pasado"
              
$dateField->setRequired(true);

              
$cpField = new GeckoFormFieldNumber();
              
$cpField->setLength);

              
$fields = array(
                      
"RazonSocial" => $razonSocialField,
                      
"Logo" => $logoField,
                      
"FechaRegistro" => $fechaField,
                      
"CP" => $cpField,
                      
"Numero" => null// Los pasamos como null para que "dibujen" un campo de texto normal.
                      
"Calle" => null,
                      
"Colonia" => null,
              );

              
$this->setFormFields$fields );
        }

        protected function 
onUpdate$fields ) {
               
$fields['FechaModificacion'] = date"Y-m-d" );
               
               return 
parent::onUpdate($fields);
        }
}

$clientes = new Clientes(); // Construimos una instancia del modulo
echo $clientes// esto llama a __toString() que "dibuja" la salida, ya sea el grid, o un formulario. etc. 

Última edición por GatorV; 01/01/2007 a las 15:33