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: 20 años, 4 meses
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->setPath( getcwd() . '/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->setUploadPath( getcwd() . '/uploads/pictures/' );
              
$logoField->setMaxPictureSize( 100 * 1024 ); // 100 kb
              
$logoField->setAllowedPictureTypes( GeckoFormFieldPicture::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( 6 );

              
$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